2014-10-10 88 views
0

我無法爲使用黃瓜,水豚和硒webkit的多個瀏覽器設置支持。無論我在命令行上指定哪種瀏覽器,測試總是在Firefox中運行。下面是我使用的是目前在我的env.rb文件中的代碼:如何設置自動跨瀏覽器測試?

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

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

Capybara.register_driver :selenium_firefox do |app| 
    Capybara::Selenium::Driver.new(app, :browser => :firefox) 
end 

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

driver = case ENV['BROWSER'] 
when 'chrome' 
    :chrome 
when 'firefox' 
    :selenium_firefox 
when 'webkit' 
    :webkit 
when 'ie' 
    :internet_explorer 
when 'safari' 
    :safari 
else 
    :chrome 
    #:selenium_firefox 
end 

回答

0

driver = case ENV['BROWSER']正在創建一個局部變量,這是不使用水豚。

你可能尋求建立水豚的默認驅動程序 - 即Capybara.default_driver

Capybara.default_driver = case ENV['BROWSER'] 
when 'chrome' 
    :chrome 
when 'firefox' 
    :selenium_firefox 
when 'webkit' 
    :webkit 
when 'ie' 
    :internet_explorer 
when 'safari' 
    :safari 
else 
    :chrome 
    #:selenium_firefox 
end 

有關選擇驅動程序的更多詳情,請參閱Capybara page