如何在钩子中使用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
答案 0 :(得分:1)
为什么不使用黄瓜配置文件然后在那里设置ENV var。有关如何使用配置文件的详细信息,请参阅https://github.com/cucumber/cucumber/wiki/cucumber.yml。
保持超级简单!否则它将成为一个噩梦来维持。