jruby - Windows/JRuby 上的 headless 驱动程序?

标签 jruby watir-webdriver

我在 Windows/JRuby 上使用 watir-webdriver。我的开发一直使用 Firefox。

Watir::Browser.new :firefox

对于部署,我需要一个 headless 浏览器,需要 JavaScript 支持。对于 headless 浏览器,我有哪些选择?

最佳答案

我不太确定您对使用 headless 浏览器进行部署的要求,但我的团队正在使用 phantomjs连同 jasminerice gem 使用 WebKit 在 headless 浏览器上自动化我们的 JavaScript 测试.

我们使用的是 JRuby 1.6.7 和 Rails 3.2.3。在我们的项目中,我们使用 CoffeeScript,我们希望利用 Rails Assets 管道将 CoffeeScript 编译为 JavaScript,这就是 jasminerice 所做的。如果我的理解是正确的,这也适用于用纯 ol' JavaScript 编写的测试和代码。

设置有点复杂,您可能会发现其他人的描述千差万别且可能已过时,但这里有一个 quick guide (Github 上的要点)现在对我有用:

  1. jasminerice 添加到您的Gemfile(要点是here)

  2. 获取 Windows 上 phantomjs 的最新静态构建 http://code.google.com/p/phantomjs/downloads/list

  3. phantomjs.exe 可执行文件放在 PATH 的某处。我们在 Rails 项目的 bin 文件夹中有它,我们更新了 PATH 以包含该文件夹。

  4. 在您的项目目录中创建一个 spec/javascripts 文件夹,并创建以下 spec.js 文件,该文件会将任何所需的库或文件夹拉入范围 (要点 here )

  5. 在您的项目目录中创建一个 spec/javascripts/support 文件夹,并创建以下将用于调用 phantomjs-runner 文件phantomjsspec/javascripts 下执行你的 JavaScript 测试文件。 (要点是 here )

  6. 通过转至 http://localhost:5555/jasmine 启动您的开发 Rails 服务器并查看 jasminerice 运行您的测试

  7. 或者,您可以创建一个 Rake 任务来为您执行所有操作并将结果返回到命令行(要点是 here )。

为了让 jasminericephantomjs 在 Win/JRuby 上 headless 编译和运行我们的 CoffeeScript 测试,这些是我们必须跳过的障碍。希望对您有所帮助!

关于jruby - Windows/JRuby 上的 headless 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214390/

相关文章:

java - buildr - 从 WSDL 位置编译 jar

ruby - watir-webDriver 是否支持通过 Lightbox 创建的 modal_dialogs?

ruby - 将变量从 Jenkins 传递到 Ruby 脚本(Jenkins 新手)

ruby - 使用 Watir Webdriver 测试 Highcharts

ruby - HTTP 请求错误 : name or service not known

jruby - 在 Jruby 中使用自定义 Java 类文件

java - 使用 Rawr 打包 Slick2d JRuby 应用程序 : missing class or uppercase package name

jruby - 使用泛型从 jruby 调用抽象 java 类

javascript - Ruby,Watir,无法单击由 Java 脚本加载的框架中的按钮

ruby - 如何在 iPad 模拟器上运行 Cucumber、Ruby 脚本