【问题标题】:Laravel Dusk ERR_CONNECTION_REFUSED visiting localhostLaravel Dusk ERR_CONNECTION_REFUSED 访问本地主机
【发布时间】:2021-08-24 23:41:41
【问题描述】:

我有 3 个 Vuejs SPA,它们使用相同的 Laravel API 设置,使用 Sail/Selenium/Docker。我想使用 Dusk 从 API 测试每个 SPA,但是每当我尝试使用端口 (http://localhost:9007) 访问 localhost 时,我都会收到以下错误:

Facebook\WebDriver\Exception\UnknownErrorException: unknown error: net::ERR_CONNECTION_REFUSED

http://google.com 或仅使用 //login 等相对路径时,我没有收到错误。

这是我用来测试的代码:

$browser->visit('http://127.0.0.1:9007');

【问题讨论】:

    标签: laravel selenium laravel-dusk laravel-sail


    【解决方案1】:

    取决于应用的托管位置和测试的运行位置。

    我假设现在两者都在容器中。容器使用它们的容器名称作为主机名相互连接。所以把$browser->visit('http://127.0.0.1:9007');改成$browser->visit('http://[target_container_name]:9007');

    如果您想从容器内部连接到您需要的主机 host.docker.internal.

    从容器到容器是容器名称,例如http://php_container

    从主机到容器,只要在 docker-compose.yml 中添加端口映射就可以使用 localhost

    【讨论】:

    • 一个在容器中,另一个是没有docker的Vuejs应用
    • 在这种情况下,您的地址应该是 host.docker.internal
    • 我试过了,做了http://host.docker.internal,它说“主机名无效”或类似的东西。
    • 我将编辑我的答案以反映这一点,但是如果您可以更详细地指定容器中正在运行的内容和不运行的内容,我会有所帮助
    • @onlineThomas 我怎么联系你,需要和你谈谈
    猜你喜欢
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2015-03-12
    • 2012-02-16
    相关资源
    最近更新 更多