1

我正在使用 capybara、cucumber 和 poltergeist 进行自动化测试 web 应用程序我决定从 poltergeist (phantomjs) 切换到无头 chrome,在 env.rb 中注册了驱动程序:

Capybara.register_driver :headless_chrome do |app|
   capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
   chromeOptions: { args: ['headless', 'disable-gpu', 'disable-web-security'] })

   Capybara::Selenium::Driver.new app,
     browser: :chrome,
     desired_capabilities: capabilities
end

config.default_driver = :headless_chrome
config.javascript_driver = :headless_chrome

然后我注册了其他驱动程序设置:

 Capybara.register_driver :selenium_chrome do |app|
   Capybara::Selenium::Driver.new(app, :browser => :chrome, args: 
     ['headless', 'disable-gpu', 'disable-web-security'])
end

当您运行测试时,Chrome 已加载,但没有活动窗口。那么它应该工作吗?很快我打算在 docker 容器(没有 GUI 的 ubuntu)中运行测试,是否有必要安装 Chrome 浏览器?

Mac OS X 10.12.5 Chrome 60 Chromedriver 2.31

宝石:selenium-webdriver (3.4.4, 2.53.4, 2.53.0) capybara (2.14.4, 2.10.1, 2.6.2, 2.4.4) chromedriver-helper (1.0.0)

4

0 回答 0