经过测试,chrome 进程仍然在 Docker 容器中的 Laravel Dusk
Posted
技术标签:
【中文标题】经过测试,chrome 进程仍然在 Docker 容器中的 Laravel Dusk【英文标题】:After tests chrome process remains Laravel Dusk in a Docker container 【发布时间】:2019-04-06 00:55:07 【问题描述】:使用 Atlassian Bamboo 运行 Dusk 测试后,Chrome 进程仍然是“僵尸”。
下面是我的驱动代码初始化:
$options = (new ChromeOptions())
->addArguments(['--disable-gpu', '--headless', '--no-sandbox', ]);
$chrome = DesiredCapabilities::chrome()
->setCapability(ChromeOptions::CAPABILITY,$options)
->setCapability('acceptInsecureCerts', true);
return RemoteWebDriver::create('http://localhost:9515', $chrome);
我的composer.json
:
"require-dev":
"barryvdh/laravel-ide-helper":"^2.5",
"filp/whoops":"^2.0",
"fzaninotto/faker":"^1.4",
"laravel/dusk":"^4.0",
"mockery/mockery":"^1.0",
"nunomaduro/collision":"^2.0",
"phpunit/phpunit":"^7.0",
"squizlabs/php_codesniffer":"3.*"
以下截图证明僵尸进程:
top 命令的结果:
感谢回复。
【问题讨论】:
【参考方案1】:经过挖掘,原因似乎是 Docker 容器上缺少标志:
您必须将--init
标志附加到docker run
来自 Atlassian 官方文档: atlassian/bamboo-server
请注意,正确获取僵尸进程需要 --init 标志。
【讨论】:
以上是关于经过测试,chrome 进程仍然在 Docker 容器中的 Laravel Dusk的主要内容,如果未能解决你的问题,请参考以下文章
Salesforce:Javascript 不想重新渲染(经过 Chrome 测试)
WebDriverException:未知错误(“chrome 无法启动”和“无法创建 Chrome 进程”)