当Cucumber通过Autotest运行时,使用Capybara-webkit(而不是Selenium)?

时间:2012-06-20 11:27:51

标签: firefox selenium cucumber capybara autotest

在手动运行我的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/

非常感谢! 约什

1 个答案:

答案 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环境。