Laravel Dusk:FacebookWebDriverExceptionUnknownErrorException:未知错误:net::ERR_CONNECTION_REFUSED

运行php artisan黄昏得到错误:

Running php artisan dusk get the error:

FacebookWebDriverExceptionUnknownErrorException: unknown error: net::ERR_CONNECTION_REFUSED
  (Session info: headless chrome=85.0.4183.83)

版本:

  • 操作系统:Windows 10 v1903 build 18362.1016
  • Chrome:85.0.4183.83
  • Laravel:v6.18.37
  • 黄昏:v5.11.0
  • phpunit:v8.5.8

试过了:

  • 禁用防火墙
  • 将测试网站设置为使用 localhost(原为 myapp.local)
  • 可以使用 Chrome 浏览器访问所有页面
  • 检查 vendor/laravel/dusk/bin/chromedriver-win.exe 是否可执行 (-rwxr-xr-x)
  • php 工匠路线:清除
  • php artisan 缓存:清除
  • php 工匠配置:清除
  • 作曲家转储自动加载
  • 谷歌FacebookWebDriverExceptionUnknownErrorException:未知错误:net::ERR_CONNECTION_REFUSED"

服务器 localhost:9515 在执行测试时似乎正在运行,因为我在尝试时在 Chrome 中得到以下响应:

The server localhost:9515 appears to be running while tests executing as I get the following response in Chrome when trying it:

{
    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 驱动程序:

DuskTestCase driver:

/**
 * Create the RemoteWebDriver instance.
 *
 * @return FacebookWebDriverRemoteRemoteWebDriver
 */
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
        )
    );
}

有人知道还有什么可以尝试的吗?或者有其他人知道解决方案吗?

Does anyone have any clues on what else to try? Or does anyone else know a resolution?

推荐答案

我遇到了同样的问题,对我来说有效的方法是将 .env 文件中的 APP_URL 参数设置为:

I faced the same issue and for me what worked was setting the APP_URL parameter in the .env file as:

APP_URL=http://127.0.0.1:8000

因为这是我的 php artisan serve 也将服务于网站的相同端口,即

As that was the same port on which my php artisan serve would also serve the website i.e.

Laravel development server started: http://127.0.0.1:8000

相关文章