Ubuntu使用Laravel Valet时Laravel Dusk测试启动浏览器空白无响应
环境信息
- Dusk Version: 6.17
- Laravel Version: 8.5
- PHP Version: 7.4.3
- 数据库驱动及版本:mysql 8.0.26
- 运行环境:Ubuntu + Laravel Valet
- Chrome Driver版本:92.0.4515.107
- 系统Chromium版本:92.0.4515.131
解决方案
对齐驱动与浏览器版本
二者大版本一致但小版本存在差异,会导致通信协议不匹配,出现无响应、重复弹窗问题。执行以下命令安装与系统Chromium完全匹配的驱动版本:php artisan dusk:chrome-driver 92.0.4515.131调整Dusk启动参数
Ubuntu系统下运行Chromium需要额外添加权限相关参数,修改DuskTestCase.php中Chrome启动配置,补充以下参数:
$options = (new ChromeOptions)->addArguments([ '--disable-gpu', '--no-sandbox', '--disable-dev-shm-usage', // 不需要可视化窗口可添加以下参数,加快测试速度 // '--headless=new' ]);
校验域名配置
确认.env文件中的APP_URL值为http://www.amlsuite24.test,执行php artisan config:clear清除配置缓存,避免Dusk读取旧的错误地址。校验本地域名解析
检查系统hosts文件是否存在127.0.0.1 www.amlsuite24.test记录,确保Valet配置的自定义域名可以正常解析。
内容的提问来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

