2013-06-25 42 views
1

我希望能夠針對不同的瀏覽器運行我的測試。我已經寫了下面的方法來做到這一點,這是在我的環境文件。使用水豚/黃瓜啓動不同的瀏覽器

def startbrowser() 
    if BROWSER == "ff" 
    Capybara.register_driver :selenium do |app| 
     Capybara::Selenium::Driver.new(app, :browser => :firefox) 
    end 


    else 
    Capybara.register_driver :selenium do |app| 
     Capybara::Selenium::Driver.new(app, :browser => :chrome) 
    end 
end 


    session = startbrowser() 
    session.visit(@base_url) 

如果提供ff,上面應該啓動firefox,但應該默認爲chrome,因爲這是我用於大多數測試的瀏覽器。因此,我將在終端中使用的命令是:cucumber --tags @tests BROWSER = ff。

但是這不起作用。它不會給我一個錯誤,但即使我不提供'BROWSER = ff'部分,它也會啓動firefox。理論上它應該默認爲chrome。如果我沒有方法中的命令,我可以成功啓動Chrome瀏覽器,但我希望能夠在瀏覽器之間切換並從jenkins運行不同的作業。任何人都知道我在這裏做錯了什麼?

謝謝!

回答

2

問題是你試圖錯誤地訪問一個環境變量。你應該更改以下行:

if BROWSER == "ff" 

...到...

if ENV['BROWSER'] == "ff"