4

在手动运行 Cucumber 测试时,我通常使用 Selenium 和 Firefox。但是当我运行 Autotest 时,我希望它们使用 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/

非常感谢!乔什

4

1 回答 1

1

如果您将它作为 Rails 项目的一部分运行,我建议您创建一个新的测试组,一个用于在本地运行(即:test),一个用于运行 Autotest(即:autotest)。

在您的 env.rb 文件中,您可以执行以下操作:

if Rails.env.autotest?
  Capybara.javascript_driver = :webkit
else
  Capybara.javascript_driver = :selenium
end

假设您正在运行 Rails 3。如果您尚未运行 Rails 3,我认为您可以使用它RAILS_ENV来获取当前环境名称。

一旦设置好,只需更改 Autotest 以使用:autotest环境。

于 2013-07-12T17:06:24.167 回答