运行 Laravel Dusk 时出现“Chromedriver 路径无效”

问题描述 投票:0回答:1

上周,我在 CI/CD 管道(特别是 GitHub Actions)中运行 Laravel Dusk 时开始出现错误,但测试会在本地通过,甚至偶尔会在 CI/CD 中通过。这个错误现在变得越来越频繁和持续,看起来像这样:

RuntimeException:Chromedriver 的路径无效[/home/runner/work/rapidradiocodes/rapidradiocodes/vendor/laravel/dusk/src/Chrome/../../bin/chromedriver-linux]。 确保首先运行 dusk:chrome-driver 命令来安装 Chromedriver。在/home/runner/work/rapidradiocodes/rapidradiocodes/vendor/laravel/dusk/src/Chrome/ChromeProcess.php:56

到目前为止,我一直在 GitHub Actions 工作流程中使用以下命令来自动获取当前安装的 Chrome 版本的 Chromedriver 版本,没有任何问题:

php artisan dusk:chrome-driver `/usr/bin/google-chrome --version | cut -d " " -f3 | cut -d "." -f1`

...但这似乎还不够。我该如何解决这个问题?

php laravel selenium-chromedriver laravel-dusk
1个回答
0
投票

这是 Dusk 最近引入的一个“已知错误”,影响了它下载最新版本 ChromeDriver 的方式。该错误已修复,但尚未合并,因此在最新版本的 Dusk 中尚不可用。与此类错误的常见情况一样,解决方法是暂时将下载的 ChromeDriver 版本硬编码为之前的工作版本 126: php artisan dusk:chrome-driver 126

一旦当前的错误被合并并推送到 Dusk 的最新版本,就可以切换回使用这样的东西:

php artisan dusk:chrome-driver `/usr/bin/google-chrome --version | cut -d " " -f3 | cut -d "." -f1`

	
© www.soinside.com 2019 - 2024. All rights reserved.