我有 headless Chrome 和 Chrome 用于我的 Rspec 测试。我想要一个标志在两者之间切换,这样我就可以在需要时看到测试发生,在不需要时隐藏它们。我怎样才能实现类似的东西:
rspec --headless
现在我只是将这个 secret 与 .env
var 绑定(bind)在一起:
Capybara.javascript_driver = Rails.application.secrets.headless ? :headless_chrome : :chrome
最佳答案
在你的rails_helper.rb中你应该创建这样的语句:
RSpec.configure do |config|
config.before(:each) do
if ENV['HEADLESS'] == 'true'
Capybara.current_driver = :selenium_chrome_headless
else
Capybara.current_driver = :selenium_chrome
end
end
end
然后在运行规范时发送一个变量
$ HEADLESS=true rspec ./spec/features
关于ruby-on-rails - Rspec 和 Chrome/headless 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54469091/