2012-06-20 43 views
4

手動運行我的黃瓜測試時,我通常在Firefox中使用Selenium。但是當我運行Autotest時,我想讓它們使用Capybara-webkit運行,否則Firefox總是跳轉到前臺,這非常煩人。黃瓜通過Autotest運行時使用Capybara-webkit(而不是Selenium)?

那麼這怎麼可能實現呢?我想我必須在env.rb文件中設置

Capybara.javascript_driver = :webkit 

取決於測試是否由Autotest運行,但是如何區分?

另一種辦法是告訴火狐在後臺啓動,但如何才能實現這一目標?

下面是一些可能的解決方法:使用Chrome!這個似乎是從後臺開始的,所以它不會打斷你的工作流程。請參閱http://collectiveidea.com/blog/archives/2011/09/27/use-chrome-with-cucumber-capybara/

非常感謝! 喬希

回答

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環境。