我在 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 上的要点)现在对我有用:
将
jasminerice
添加到您的Gemfile
(要点是here)获取 Windows 上
phantomjs
的最新静态构建 http://code.google.com/p/phantomjs/downloads/list将
phantomjs.exe
可执行文件放在PATH
的某处。我们在 Rails 项目的bin
文件夹中有它,我们更新了PATH
以包含该文件夹。在您的项目目录中创建一个
spec/javascripts
文件夹,并创建以下spec.js
文件,该文件会将任何所需的库或文件夹拉入范围 (要点 here )在您的项目目录中创建一个
spec/javascripts/support
文件夹,并创建以下将用于调用的
在phantomjs-runner
文件phantomjsspec/javascripts
下执行你的 JavaScript 测试文件。 (要点是 here )通过转至 http://localhost:5555/jasmine 启动您的开发 Rails 服务器并查看
jasminerice
运行您的测试或者,您可以创建一个 Rake 任务来为您执行所有操作并将结果返回到命令行(要点是 here )。
为了让 jasminerice
和 phantomjs
在 Win/JRuby 上 headless 编译和运行我们的 CoffeeScript 测试,这些是我们必须跳过的障碍。希望对您有所帮助!
关于jruby - Windows/JRuby 上的 headless 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214390/