Capybara Docker Headless Chrome-未知错误:DevToolsActivePort文件不存在

时间:2020-01-08 03:00:45

标签: ruby-on-rails selenium docker selenium-chromedriver capybara

使用capybara和无头chrome在Docker中运行测试。我可以看到一堆已失效的进程,这些进程来自chromedriver尝试启动chrome。

sh-4.2# google-chrome --version
Google Chrome 79.0.3945.117
sh-4.2# chromedriver --version
ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614})

Capybara驱动程序配置:

  Capybara.register_driver(:headless_chrome) do |app|
    capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
      chromeOptions: { args: %w[no-sandbox headless disable-gpu disable-dev-shm-usage window-size=1920,1080] }
    )

    Capybara::Selenium::Driver.new(
      app,
      browser: :chrome,
      desired_capabilities: capabilities
    )
  end
  Capybara.default_driver = :selenium
  Capybara.javascript_driver = :headless_chrome

已安装宝石版本:

  • gem'selenium-webdriver','3.6.0'
  • 宝石'水豚','2.6.2'

在容器中,我可以使用capybara配置中的参数针对google-chrome运行命令,并且得到的结果使我相信这与capybara中的驱动程序有关,但我无所适从地调试了该应用程序没有写。任何想法将不胜感激。谢谢!

0 个答案:

没有答案