Laravel dusk 更改 URL

Laravel dusk changes the URL

我已经为 Laravel 安装了 dusk,但从一开始所有测试都失败了。而不是查看我想要的页面,他们都 return 一个 404 错误。

为了找出 URL 测试试图进行的测试而不是我想要的测试,我设置了一个自定义 404 页面并将以下代码放入其中:

$_SERVER['REQUEST_URI']

现在测试 return 它试图获得的 URL 我发现它在 URL 的末尾添加了一个“/session”例如,如果我尝试检查:

'http://localhost/', DesiredCapabilities::chrome()

测试returns

<p>The requested URL /session was not found on this server.</p>

如果我这样设置 URL:

'http://localhost/fortest', DesiredCapabilities::chrome()

测试将return:

<p>The requested URL /fortest/session was not found on this server.</p>

我不知道这是否与 Laravel/dusk 或 PHPUnit 或 Selenium 有关。任何帮助表示赞赏。

正如我在对 的回答中所指出的,配置 APP_URL 以匹配您的本地开发环境非常重要。

/sessions 通常是使用本机会话驱动程序时的默认会话文件位置。

首先使用默认的 Selenium 服务器 URL 和端口创建远程 Web 驱动程序实例:

'http://localhost:9515', DesiredCapabilities::chrome()

然后 运行 您的第一个测试位于 Browser/ExampleTest.php 并验证当前 URL.

您可以像这样快速转储当前 URL:

public function testBasicExample() {

    $this->browse( function ( Browser $browser ) {
        $browser->visit( '/' );
        var_dump( $browser->driver->getCurrentURL() );
    } );

}