【问题标题】:Selenium or Watir for Javascript Testing in Rails在 Rails 中进行 Javascript 测试的 Selenium 或 Watir
【发布时间】:2010-10-02 13:16:11
【问题描述】:

我们在 Rails 应用程序中使用了 RSpec 和 Cucumber,效果很好。 Webrat 非常适合非 AJAX 交互,但我们正准备重新开始为我们的 Javascript 编写测试。

Webrat 内置了对 Selenium 的支持,我们之前也使用过 Selenium,但我很好奇是否有人在使用 Watir 和 Cucumber 时取得了良好的效果,以及 Watir 与 Selenium 的优缺点是什么。

【问题讨论】:

    标签: javascript ruby-on-rails ajax testing selenium


    【解决方案1】:

    作为 OpenQA 和 Selenium RC 的创始人,我显然倾向于将 Selenium 作为一个不错的选择。我们最近刚刚发布了 1.0 beta 2 版本,并且非常接近 1.0 最终版。

    但是,Watir/FireWatir 也不会出错。 Adam 关于 WebDriver 将合并形成 Selenium 2.0 的评论是正确的,但他暗示 Watir 不使用本机钩子是不正确的。如果 Watir 只是一个 Selenium 克隆并且还使用了 JavaScript 注入,我会说它不值得一看。

    但是因为它有原生的钩子,它可以做一些 Selenium 目前做不到的事情。虽然它支持的浏览器较少,但它在它支持的主浏览器 (IE) 中更深入一些,并允许您控制页面/画布之外的内容。

    总而言之:两者都可以,Selenium 很棒,如果您使用 Selenium 再坚持一段时间,您很快就会在 WebDriver/Selenium 2.0 中获得两全其美的效果。

    【讨论】:

      【解决方案2】:

      我通过 JRuby 使用 Cucumber with Celerity 取得了不错的效果。

      Celerity 是一个无头浏览器,它使用与 Watir 兼容的 API 封装 HtmlUnit,并支持 JavaScript 和 AJAX 测试。

      无头可让 Celerity 更快、更容易地集成到持续集成构建周期中。

      由于 Celerity 与 Watir 的 API 兼容,因此您可以相当轻松地在 Watir 和 Celerity 之间切换。有一些注意事项,但值得付出努力。

      【讨论】:

      • 您可能还想将它与 capybara 一起使用,它可以让您轻松地在 celerity 和 selenium 之间切换。关于它的好文章在这里allenwei.cn/…
      【解决方案3】:

      我会说 Watir 更圆滑,但用处不大。它主要是一个 IE 自动化系统,具有相当不稳定的 Firefox 支持。 (我承认有一段时间没有检查 FireWatir,它可能已经改进了。)

      在 Watir 上有对 Selenium-RC 的实验性支持。这绝对是两全其美。

      【讨论】:

        【解决方案4】:

        您可能想试试WebDriver。将来会become part of Selenium。与 JRuby 一起使用。

        它与 Selenium、Sahi 或 Watir 的不同之处在于它以原生方式控制浏览器,不使用 JavaScript,并且不受其他解决方案存在的许多问题的影响。

        【讨论】:

          【解决方案5】:

          我试过 Watir,但没有用黄瓜。这是为java应用程序。我们面临的问题是试图确定页面已加载。在找到解决方案之前,我们不得不稍微搜索一下论坛。否则很好。

          【讨论】:

            【解决方案6】:

            Watir 2.0 也将使用 WebDriver。

            【讨论】:

              【解决方案7】:

              如果您想在 Rails 3 上使用 Watir。

              您可以使用“watir-webdriver-rails”gem(我是创建者)。

              【讨论】:

              • 看起来很可爱。在使用 webrat 或 capybara 进行 rspec 集成测试时,我总是遇到一些问题。我将检查 watir-webdriver-rails gem。
              • 谢谢,我在所有项目中都使用了这个 gem。我希望它对你也有好处。
              【解决方案8】:

              我发现它的 Env-Js http://github.com/smparkes/env-js 的最佳解决方案 它类似于 webrat,但支持 JS

              【讨论】:

              • webrat 怎么样?它们似乎无关。
              【解决方案9】:

              不要忽略像 QUnit 或 Jasmine 这样的东西来对你的 javascript 进行单元测试。如果不出意外,它将减少您必须在 cucumber/selenium/capybara/whatever 中编写的全栈测试的数量

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2023-03-27
                • 1970-01-01
                • 1970-01-01
                • 2014-08-05
                • 2015-07-31
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多