使用 Sail 进行明确安装后,Laravel Dusk 连接被拒绝

问题描述 投票:0回答:1
  • 黄昏版本:v6.15.0
  • 航海版本:v1.7.0
  • Laravel 版本:v8.43.0
  • PHP版本:8.0.5
  • Docker 引擎版本:20.10.6
  • 操作系统:macOS BigSur 11.3.1

场景:

在使用 Sail 的新 Laravel 项目上明确安装 Dusk 后,会抛出“连接被拒绝”错误

./vendor/bin/sail artisan dusk
PHPUnit 9.5.4 by Sebastian Bergmann and contributors.

E                                                                   1 / 1 (100%)

Time: 00:00.855, Memory: 20.00 MB

There was 1 error:

1) Tests\Browser\ExampleTest::testBasicExample
Facebook\WebDriver\Exception\WebDriverCurlException: Curl error thrown for http POST to /session with params: {"capabilities":{"firstMatch":[{"browserName":"chrome","goog:chromeOptions":{"args":["--window-size=1920,1080","--disable-gpu","--headless"]}}]},"desiredCapabilities":{"browserName":"chrome","platform":"ANY","chromeOptions":{"args":["--window-size=1920,1080","--disable-gpu","--headless"]}}}

Failed to connect to localhost port 9515: Connection refused

/var/www/html/vendor/php-webdriver/webdriver/lib/Remote/HttpCommandExecutor.php:332
/var/www/html/vendor/php-webdriver/webdriver/lib/Remote/RemoteWebDriver.php:135
/var/www/html/tests/DuskTestCase.php:46
/var/www/html/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:218
/var/www/html/vendor/laravel/framework/src/Illuminate/Support/helpers.php:234
/var/www/html/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:219
/var/www/html/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:97
/var/www/html/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:65
/var/www/html/tests/Browser/ExampleTest.php:21

ERRORS!
Tests: 1, Assertions: 0, Errors: 1.

我遵循了在 Sail DocsDusk Docs 中找到的所有说明,没有进行任何更改。我的 docker 环境已完全清除 Laravel Sail 项目使用的旧图像和容器。

乍一看,我尝试在仅运行黄昏的项目上编辑任何内容,因此 APP_URL 是 .env 文件上的默认值

APP_URL=http://selenium.test

但是,在我阅读了 Dusk Docs 上的文档后,下面的句子“下一步,在应用程序的 .env 文件中设置 APP_URL 环境变量。该值应与您在浏览器中用于访问应用程序的 URL 相匹配。”我把它设置为我在浏览器上使用的那个

APP_URL=http://localhost

重现步骤:

  1. curl -s "https://laravel.build/selenium?with=selenium" | bash
  2. cd selenium && ./vendor/bin/sail up -d
  3. ./vendor/bin/sail composer require --dev laravel/dusk
  4. ./vendor/bin/sail artisan dusk:install
  5. ./vendor/bin/sail artisan dusk
  6. 尝试更改.env中的APP_URL并再次运行5点

我不明白为什么会出现这个问题

php laravel selenium laravel-dusk laravel-sail
1个回答
0
投票

这是一个老问题,所以你可能(我希望)不再尝试解决这个问题。我一直在尝试解决另一个问题,但认为我可以提供一些建议。

首先,在使用 Sail 时,要运行 Dusk,您应该使用:

./vendor/bin/sail dusk

该命令中没有

artisan

其次,对于 Sail 的默认安装,应用程序的容器名称是

laravel.test
,因此这应该是在
APP_URL
环境变量中使用的值。

© www.soinside.com 2019 - 2024. All rights reserved.