Laravel 5.6 Dusk在Mac High Sierra下运行示例测试超时求助
这个错误我之前在老版本Mac系统上跑Dusk时也踩过坑,大概率是ChromeDriver与你的Chrome浏览器版本不兼容,或者Dusk自带的ChromeDriver没适配你的系统。下面是一步步的解决方法:
第一步:确认你的Chrome版本
打开Chrome浏览器,点击右上角的三个点 → 「关于Google Chrome」,记下显示的版本号(比如114.0.5735.198这类格式)。第二步:下载匹配的ChromeDriver
找到对应你Chrome版本的ChromeDriver安装包(选Mac平台的版本),解压后得到chromedriver文件。第三步:替换Dusk自带的ChromeDriver
你的项目里Dusk的ChromeDriver路径是:/Users/keith/Desktop/dusk/vendor/laravel/dusk/bin/,把下载好的chromedriver替换掉这个目录里的旧文件。替换完别忘了给文件加执行权限,打开终端运行:
chmod +x /Users/keith/Desktop/dusk/vendor/laravel/dusk/bin/chromedriver第四步:检查Dusk的Chrome配置
打开tests/DuskTestCase.php,找到driver()方法里的Chrome配置部分,确认chromeOptions中的binary路径是否正确指向你的Chrome安装位置。默认路径是:'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'如果你的Chrome装在其他位置,修改成对应的路径即可。
第五步:重新运行测试
在终端里执行php artisan dusk,应该就能正常运行默认的示例测试了。
如果还是不行,可以试试关闭Chrome的自动更新(避免版本再次不匹配),或者检查系统防火墙有没有阻止Dusk的请求。
内容的提问来源于stack exchange,提问作者KKOA

