在手动运行我的Cucumber测试时,我通常使用Selenium和Firefox。但是当我运行自动测试时,我希望它们能够使用Capybara-webkit运行,因为否则Firefox总是跳到前台,这非常烦人。
那怎么能实现呢?我想我必须设置
Capybara.javascript_driver = :webkit
env.rb文件中的取决于测试是否由Autotest运行,但是如何区分?
另一个选择是告诉Firefox在后台启动,但是如何实现呢?
以下是一些可行的解决方法:使用chrome!这个似乎从后台开始,所以它不会打断你的工作流程。请参阅http://collectiveidea.com/blog/archives/2011/09/27/use-chrome-with-cucumber-capybara/。
非常感谢! 约什
答案 0 :(得分:1)
如果您将此作为Rails项目的一部分运行,我建议您创建一个新的测试组,一个用于本地运行(即:test
),另一个用于运行自动测试(即:autotest
)
在env.rb文件中,您可以执行以下操作:
if Rails.env.autotest?
Capybara.javascript_driver = :webkit
else
Capybara.javascript_driver = :selenium
end
假设您正在运行Rails 3.如果您尚未运行Rails 3,我认为您可以使用RAILS_ENV
来获取当前的环境名称。
设置完成后,只需将自动测试更改为使用:autotest
环境。