运行php artisan dusk时出现错误:
Facebook\WebDriver\Exception\UnknownErrorException: unknown error: net::ERR_CONNECTION_REFUSED
(Session info: headless chrome=85.0.4183.83)
版本:
- 操作系统:Windows 10 v1903构建18362.1016
- Chrome浏览器:85.0.4183.83
- Laravel框架:v6.18.37
- Dusk测试工具:v5.11.0
- Phpunit测试工具:v8.5.8
尝试过的解决方案:
- 禁用防火墙
- 将测试网站设置为使用localhost(原先为myapp.local)
- 可以使用Chrome浏览器访问所有页面
- 检查vendor/laravel/dusk/bin/chromedriver-win.exe文件是否可执行(-rwxr-xr-x)
- php artisan route:clear
- php artisan cache:clear
- php artisan config:clear
- composer dump-autoload
- 在Google中搜索“Facebook\WebDriver\Exception\UnknownErrorException: unknown error: net::ERR_CONNECTION_REFUSED”
测试运行时,本地主机地址:9515似乎正在运行,当我在Chrome中尝试连接时,会得到以下响应:
{
value: {
error: "unknown command",
message: "unknown command: unknown command: ",
stacktrace: "Backtrace: Ordinal0 [0x0037D383+3134339] Ordinal0 [0x0026A171+2007409] Ordinal0 [0x0010AEE8+569064] Ordinal0 [0x000AD12C+184620] Ordinal0 [0x000ACF0A+184074] Ordinal0 [0x00081FD7+8151] Ordinal0 [0x00082496+9366] Ordinal0 [0x00082B40+11072] Ordinal0 [0x00280CD9+2100441] GetHandleVerifier [0x004EB75A+1396954] GetHandleVerifier [0x004EB3D9+1396057] GetHandleVerifier [0x004F7126+1444518] GetHandleVerifier [0x004EBCE8+1398376] Ordinal0 [0x00277F51+2064209] Ordinal0 [0x00081D35+7477] Ordinal0 [0x00081991+6545] GetHandleVerifier [0x006BF31C+3312796] BaseThreadInitThunk [0x76986359+25] RtlGetAppContainerNamedObjectPath [0x771D7C24+228] RtlGetAppContainerNamedObjectPath [0x771D7BF4+180] (No symbol) [0x00000000] ",
}
}
DuskTestCase驱动程序:
/**
* Create the RemoteWebDriver instance.
*
* @return \Facebook\WebDriver\Remote\RemoteWebDriver
*/
protected function driver()
{
$options = (new ChromeOptions)->addArguments([
'--disable-gpu',
'--headless',
'--window-size=1920,1080',
]);
return RemoteWebDriver::create(
'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
)
);
}
还有其他什么尝试的线索吗?或者还有其他人知道解决方法吗?
.env.testing
中有APP_URL=http://nginx:8080
(其中nginx
是运行chromedriver的容器的名称),而在.env
中需要APP_URL=http://localhost:8080
。棘手的小问题;谢谢! - Ben Johnsonphp artisan serve --host 0.0.0.0
。https://stackoverflow.com/a/54022753/799588 - undefined