最近在进行一个大型PHP项目的开发,其中包含大量的端到端(E2E)测试,我们使用了Selenium/Dusk/Panther等工具来模拟用户行为。起初,这听起来很美好,但很快我们就遇到了一个老大难的问题:如何稳定、高效地管理Chromedriver和Chromium的版本?
你可能也遇到过类似的情况:
这些问题让我们的自动化测试之路充满了坎坷,甚至一度让我们怀疑E2E测试的投入产出比。我们迫切需要一个既能简化安装,又能确保版本一致性的解决方案。
Composer在线学习地址:学习地址
spryker/docker-chromedriver
就在我们一筹莫展之际,
spryker/docker-chromedriver
这个包的核心理念是提供一个开箱即用的Chromedriver和Chromium环境,无论是通过Docker容器、Composer本地安装,还是在Travis CI等持续集成环境中,都能轻松搞定。它解决了我们长期以来面临的版本兼容性和环境搭建复杂性问题。
立即学习“PHP免费学习笔记(深入)”;
spryker/docker-chromedriver
第一步:通过Composer安装
在你的PHP项目根目录,运行以下命令来安装这个包:
<pre class="brush:php;toolbar:false;">composer require --dev "spryker/docker-chromedriver"
我们通常会将其作为开发依赖(
--dev
第二步:配置Composer脚本自动安装Chromedriver
为了让Composer在每次安装或更新依赖后自动处理Chromedriver的安装,你需要修改项目的
composer.json
scripts
<pre class="brush:php;toolbar:false;">{
"scripts": {
"post-install-cmd": [
"ChromedriverInstaller\Installer::installChromedriver"
],
"post-update-cmd": [
"ChromedriverInstaller\Installer::installChromedriver"
]
}
}这样一来,每次运行
composer install
composer update
ChromedriverInstallerInstaller::installChromedriver
第三步:锁定Chromedriver/Chromium版本(关键!)
为了避免“最新版本”带来的不确定性,或者确保与特定Chrome浏览器版本严格兼容,你可以通过在
composer.json
config
chromium-revision
<pre class="brush:php;toolbar:false;">{
"config": {
"chromium-revision": 814168
}
}这里的
814168
额外提示:跳过安装
如果你在某些特定情况下(比如快速部署,或已经在Docker中提供了Chromedriver)不希望执行Chromedriver的安装,可以在运行Composer命令前设置环境变量:
<pre class="brush:php;toolbar:false;">export COMPOSER_IGNORE_CHROMEDRIVER=1 composer install
引入
spryker/docker-chromedriver
chromium-revision
composer install
spryker/chromedriver
spryker/docker-chromedriver
spryker/docker-chromedriver
以上就是如何在PHP项目中优雅地管理Chromedriver和Chromium版本,使用spryker/docker-chromedriver轻松实现自动化测试环境的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号