You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5.4配置Dusk时测试用例是否必须实现createApplication()方法

问题排查解决步骤

一、PHPStorm要求实现createApplication()方法的误报问题

这个提示是IDE的错误提示,不需要在ExampleTest中实现该方法:

  • ExampleTest继承的DuskTestCase基类(位于tests/DuskTestCase.php)默认已经引入了CreatesApplication Trait,该Trait已经内置了createApplication()的实现逻辑,子类无需重复编写
  • 解决提示的方法:打开PHPStorm的File > Invalidate Caches...,选择清除缓存并重启IDE,重新索引后误报就会消失

二、执行php artisan dusk不弹出浏览器窗口的排查方案

按优先级逐一排查:

  1. 先确认本地开发服务已启动:比如你用php artisan serve启动的话要保持服务运行,同时检查项目根目录的.env.dusk.local文件中的APP_URL配置和你本地服务的访问地址一致,比如APP_URL=http://localhost:8000
  2. 检查Chrome浏览器已安装:Laravel 5.4的Dusk默认依赖Chrome/Chromium浏览器,未安装的话无法启动
  3. 关闭无头模式:打开tests/DuskTestCase.php文件,找到driver()方法中的Chrome启动参数,删除--headless配置项,即可弹出可见的浏览器窗口,修改后的参考配置:
protected function driver()
{
    $options = (new \Facebook\WebDriver\Chrome\ChromeOptions)->addArguments([
        '--disable-gpu',
        // '--headless', 注释或删除这一行就会显示浏览器窗口
        '--no-sandbox',
    ]);

    return \Facebook\WebDriver\Remote\RemoteWebDriver::create(
        'http://localhost:9515',
        \Facebook\WebDriver\Chrome\ChromeOptions::create()->setCapability(
            \Facebook\WebDriver\Chrome\ChromeOptions::CAPABILITY,
            $options
        )
    );
}
  1. 确认ChromeDriver有执行权限:Linux/macOS环境下执行命令chmod +x vendor/laravel/dusk/bin/chromedriver-*给驱动文件加执行权限
  2. 检查端口占用:确认9515端口没有被其他程序占用,ChromeDriver默认使用该端口通信

内容的提问来源于stack exchange,提问作者Mason Wray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:18:03