在钩子Cucumber中使用ENV变量

问题描述 投票:0回答:1

如何在钩子中使用ENV变量?

我在我的env.rb文件中设置了一些驱动程序配置,它在if语句中工作。

if ENV['headless_phantom']
  Capybara.register_driver :poltergeist do |app|
    Capybara::Poltergeist::Driver.new(app, window_size: [1280, 1024], js_errors: false, debug: false)
  end
  Capybara.default_driver = :poltergeist

elsif ENV['headless_chrome']
  Capybara.register_driver :headless_chrome do |app|

    opts = Selenium::WebDriver::Chrome::Options.new
    opts.add_argument '--start-maximized'
    opts.add_argument '--disable-infobars'
    opts.add_argument '--headless'
    Capybara::Selenium::Driver.new(app, browser: :chrome, options: opts)
  end
  Capybara.default_driver = :headless_chrome

...

通常要调用默认驱动程序以外的驱动程序,我在IDE或命令行的runner选项中添加以下内容:

headless_chrome = true

我正在寻找以下内容以节省我一直进入跑步者选项,以便在最初编写测试时快速更改驱动程序。

before('@chrome_headless') do
  ENV['headless_chrome'] = true
end
cucumber
1个回答
1
投票

为什么不使用黄瓜配置文件然后在那里设置ENV var。有关如何使用配置文件的详细信息,请参阅https://github.com/cucumber/cucumber/wiki/cucumber.yml

保持它超级简单!否则它将成为一个噩梦来维持。

© www.soinside.com 2019 - 2024. All rights reserved.