我希望能够针对不同的浏览器运行我的测试。我已经编写了以下方法来执行此操作,这是在我的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。
然而,这不起作用。它没有给我一个错误,但它总是启动firefox,即使我不提供'BROWSER = ff'部分。理论上它应该默认为chrome。如果我在方法中没有命令,我可以成功启动chrome浏览器,但我希望能够在浏览器之间切换并从jenkins运行不同的作业。任何人都知道我在这里做错了什么?
谢谢!
答案 0 :(得分:2)
问题是您尝试错误地访问环境变量。您应该更改以下行:
if BROWSER == "ff"
...到...
if ENV['BROWSER'] == "ff"