如何设置自动跨浏览器测试?

时间:2014-10-10 16:25:08

标签: selenium-webdriver cucumber capybara

我无法使用黄瓜,水豚和硒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

1 个答案:

答案 0 :(得分:0)

driver = case ENV['BROWSER']正在创建一个本地变量,Capybara不会使用它。

您可能希望设置Capybara的默认驱动程序 - 即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