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