Laravel Dusk 错误:无法连接到本地主机端口 9515:连接被拒绝

作者:编程家 分类: laravel 时间:2025-10-14

Laravel Dusk 是一个流行的自动化测试工具,它可以帮助开发人员编写和运行浏览器测试。然而,在使用 Laravel Dusk 进行测试时,有时会遇到一个常见的错误:无法连接到本地主机端口 9515,连接被拒绝。本文将介绍这个错误的原因,并提供解决方法。

错误原因

这个错误通常是由于 Chrome 浏览器驱动程序未能正常启动所致。Laravel Dusk 使用 Chrome 浏览器驱动程序来模拟浏览器行为进行测试,而驱动程序默认使用 9515 端口与测试代码进行通信。如果端口被其他进程占用或者驱动程序未能成功启动,就会导致连接被拒绝的错误。

解决方法

下面是一些可能的解决方法,可以尝试来解决这个问题。

1. 检查端口占用情况:运行 Laravel Dusk 之前,可以先检查一下 9515 端口是否被其他进程占用。可以使用命令行工具(如 Windows 的 PowerShell 或 Linux 的终端)执行以下命令:

netstat -ano | findstr :9515

如果该端口已被占用,你可以尝试终止占用该端口的进程,或者将 Laravel Dusk 的端口设置为其他可用的端口。

2. 检查 Chrome 浏览器版本:Laravel Dusk 需要与 Chrome 浏览器版本相匹配的驱动程序才能正常工作。如果你的 Chrome 浏览器版本更新了,但驱动程序没有更新,就可能导致连接被拒绝的错误。确保下载并使用与你的 Chrome 浏览器版本相匹配的驱动程序。

3. 检查 Laravel Dusk 配置:在 Laravel 项目中,Laravel Dusk 的配置文件位于 `tests/DuskTestCase.php` 文件中。确保该文件中的 `driver` 配置项设置为正确的 Chrome 浏览器驱动程序路径。

php

protected function driver()

{

return RemoteWebDriver::create(

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

);

}

另外,还可以尝试在配置文件中添加 `--disable-gpu` 参数,以解决某些特定系统上的问题。

4. 检查系统权限:有时,连接被拒绝的错误可能是由于缺乏系统权限所致。确保你有足够的权限来运行 Laravel Dusk,并且可以启动 Chrome 浏览器驱动程序。

案例代码

以下是一个简单的 Laravel Dusk 测试案例代码,用于演示如何使用 Laravel Dusk 进行浏览器测试:

php

namespace Tests\Browser;

use Tests\DuskTestCase;

use Laravel\Dusk\Browser;

use Illuminate\Foundation\Testing\DatabaseMigrations;

class ExampleTest extends DuskTestCase

{

use DatabaseMigrations;

public function testBasicExample()

{

$this->browse(function (Browser $browser) {

$browser->visit('/')

->assertSee('Laravel');

});

}

}

在这个案例中,我们使用 Laravel Dusk 进行一个基本的测试,打开应用的首页,并断言页面上是否包含 "Laravel" 字符串。

在使用 Laravel Dusk 进行浏览器测试时,遇到无法连接到本地主机端口 9515 的错误是很常见的。本文介绍了这个错误的原因和解决方法,并提供了一个简单的测试案例代码。希望这些信息能帮助你解决这个问题,并顺利进行 Laravel Dusk 测试。