Laravel Dusk执行测试时如何强制显示浏览器查看输入框填充?
解决Laravel Dusk运行测试不显示浏览器的问题
没问题!Laravel Dusk默认会用无头模式运行浏览器(也就是不显示可视化窗口),要强制显示浏览器来确认输入字段的填充情况,你可以试试这几种方法:
通过环境变量永久禁用无头模式
在项目根目录的.env文件中添加或修改以下配置项:DUSK_HEADLESS_DISABLED=true保存后再运行测试,Dusk就会自动打开可视化的浏览器窗口,你能直观看到每一步操作,包括输入字段的填充过程。
临时禁用无头模式(单次生效)
如果你不想修改配置文件,只是临时需要查看浏览器运行过程,可以在执行测试命令时加上--without-headless参数:php artisan dusk --without-headless这个参数会临时覆盖默认的无头设置,本次测试结束后恢复原有配置。
额外排查:浏览器驱动兼容性
要是按上面的方法操作后还是看不到浏览器,不妨检查下ChromeDriver和本地Chrome浏览器的版本是否匹配。版本不兼容也可能导致浏览器无法正常显示。你可以通过下面的命令更新到对应版本的驱动:php artisan dusk:chrome-driver执行后会自动下载适配你当前Chrome版本的驱动文件。
这样设置后,你就能清晰看到Dusk如何填充输入字段,方便验证测试用例的正确性啦。
内容的提问来源于stack exchange,提问作者Petar Vasilev




