1

我希望能够针对不同的浏览器运行我的测试。我已经编写了以下方法来执行此操作,这在我的 env 文件中。

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 运行不同的作业。有人知道我在这里做错了什么吗?

谢谢!

4

1 回答 1

2

问题是您试图错误地访问环境变量。您应该更改以下行:

if BROWSER == "ff"

...至...

if ENV['BROWSER'] == "ff"
于 2013-09-07T15:22:16.813 回答