【问题标题】:Launch different browsers using Capybara/Cucumber使用 Capybara/Cucumber 启动不同的浏览器
【发布时间】:2013-09-07 23:22:16
【问题描述】:

我希望能够针对不同的浏览器运行我的测试。我已经编写了以下方法来执行此操作,这在我的 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 运行不同的作业。有人知道我在这里做错了什么吗?

谢谢!

【问题讨论】:

    标签: ruby cucumber capybara


    【解决方案1】:

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

    if BROWSER == "ff"
    

    ...到...

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      相关资源
      最近更新 更多