Chrome Laravel Dusk:Facebook\WebDriver\Exception\UnknownErrorException:未知错误:net::ERR_CONNECTION_REFUSED

kmynzznz  于 2023-06-19  发布在  Go
关注(0)|答案(8)|浏览(180)

运行php artisan dusch得到错误:

Facebook\WebDriver\Exception\UnknownErrorException: unknown error: net::ERR_CONNECTION_REFUSED
  (Session info: headless chrome=85.0.4183.83)

版本:

  • 操作系统:Windows 10 v1903
  • 浏览器:85.0.4183.83
  • Laravel:v6.18.37
  • 黄昏:v5.11.0
  • Phpunit:v8.5.8

尝试:

  • 禁用防火墙
  • 将测试网站设置为使用localhost(wasmyapp.local)
  • 可以使用Chrome浏览器访问所有页面
  • 检查vendor/laravel/dusk/bin/chromedriver-win.exe是否可执行(-rwxr-xr-x)
  • php artisan route:clear
  • php工匠缓存:清除
  • php artisan config:clear
  • composer 转储自动加载
  • google "Facebook\WebDriver\Exception\UnknownErrorException:未知错误:net::ERR_CONNECTION_REFUSED "

服务器localhost: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
        )
    );
}

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

l2osamch

l2osamch1#

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

APP_URL=http://127.0.0.1:8000

因为这是我的php artisan serve也将服务于网站的同一个端口。

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

xqkwcwgp2#

我把这件事告诉那些可能和我面临同样问题的人。
事实证明Laravel Dusk希望我们在运行php artisan dusk之前运行php artisan serveERR_CONNECTION_REFUSED错误是指无法连接到应用程序本身的http://localhost:8000 URL,因为它没有运行。
这确实有意义,但我根本不知道,文档对此也不清楚(我不得不推断)。然而,ChromeDriver在执行时由Dusk自动启动。

wlsrxk51

wlsrxk513#

在Laravel 9中唯一对我有帮助的是在.env.dusk.local文件中设置APP_URL=http://laravel.test

oxosxuxt

oxosxuxt4#

通过以下步骤修复它:
1.删除vendor文件夹并删除composer.lock

  1. php composer. phar install
    1.检查您当前的Chrome版本-您可以通过访问https://www.whatismybrowser.com/detect/what-version-of-chrome-do-i-have查看
    1.从http://chromedriver.chromium.org/downloads下载与当前Chrome版本匹配的Chrome WebDriver
    1.从供应商\laravel\d黄昏\bin中手动删除旧的chromedriver-win.exe版本,并将您下载的版本放在那里。请注意,您必须重命名文件。
    执行上述步骤2后,错误消息发生变化,提示执行其余步骤。
pxy2qtax

pxy2qtax5#

要修复此错误,您需要将.env文件APP_URL参数更新为本地服务器URL,如下所示

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:XZoWMB3aWom/V3iZy870VSQjMsBdGCHYdWbRuNb6aY0=
APP_DEBUG=true
APP_URL=http://127.0.0.1:8000 #(This can be url to your local environment)
e4yzc0pl

e4yzc0pl6#

对我来说,设置.env APP_ENV=development后错误消失了,我保持.env.dusk.development也是一样的。

cu6pst1q

cu6pst1q7#

我试图在安装新的Laravel 8.77后运行黄昏,遇到了以下错误,并通过创建新的.env.dusk.local文件找到了解决方案。您必须根据当前环境创建.env.dusk.{environment}
在新创建的env文件中,您需要为ex定义正确的URL。http://testing-laravel.local通过创建虚拟主机。

There was 1 error:

1) Tests\Browser\ExampleTest::testBasicExample
Facebook\WebDriver\Exception\UnknownErrorException: unknown error: net::ERR_CONNECTION_REFUSED
  (Session info: headless chrome=96.0.4664.110)
bxgwgixi

bxgwgixi8#

听起来很明显,不要像我一样,在尝试本地运行Dusk测试之前完全忘记启动开发服务器-如果运行测试的服务器没有启动,连接显然会被拒绝。无论您使用的是XAMPP还是php artisan serve,都要确保打开本地服务器。

相关问题