WebdriverIO自动化测试问题:无法下载Chromedriver v121.0.6167.184
解决WebdriverIO无法下载ChromeDriver的404问题
问题详情
使用WebdriverIO执行自动化测试时,自动下载ChromeDriver v121.0.6167.184失败,服务器返回404状态码。项目devDependencies配置如下:
"devDependencies": { "@alfonso-presa/soft-assert": "^0.6.0", "@wdio/cli": "^8.21.0", "@wdio/cucumber-framework": "^8.21.0", "@wdio/local-runner": "^8.21.0", "@wdio/sauce-service": "^8.23.0", "@wdio/spec-reporter": "^8.21.0", "axios": "^1.6.4", "chai": "^4.3.10", "cucumber-html-reporter": "^7.1.1", "dotenv": "^16.3.1", "fs-extra": "^11.1.1", "multiple-cucumber-html-reporter": "^3.5.0", "n-readlines": "^1.0.1", "path": "^0.12.7", "wdio-cucumber-reporter": "^0.0.2", "wdio-cucumberjs-json-reporter": "^5.1.8" }
可行解决方案
1. 手动下载并指定ChromeDriver路径
- 找到对应v121.0.6167.184版本的win64 ChromeDriver压缩包下载,解压后将
chromedriver.exe放到项目指定目录(如./drivers/) - 在WebdriverIO配置文件(
wdio.conf.js)中添加配置指定路径:
exports.config = { // 其他配置项... services: [ ['chromedriver', { path: './drivers/', version: '121.0.6167.184' }] ] }
2. 更新WebdriverIO核心依赖
旧版本可能存在下载源地址失效问题,执行命令更新核心依赖:
npm update @wdio/cli @wdio/local-runner @wdio/sauce-service
更新后重新运行测试,验证是否能自动获取正确下载地址。
3. 替换ChromeDriver下载源
在项目根目录的.env文件中添加国内镜像源配置:
WDIO_CHROMEDRIVER_CDNURL=https://npm.taobao.org/mirrors/chromedriver/
或临时通过启动命令指定:
WDIO_CHROMEDRIVER_CDNURL=https://npm.taobao.org/mirrors/chromedriver/ npm run test
4. 检查浏览器与驱动版本兼容性
确保本地Chrome浏览器版本与ChromeDriver版本完全匹配(主版本号一致,小版本尽量对应)。若浏览器已更新,删除项目中旧的ChromeDriver缓存,让WebdriverIO自动下载对应新版本驱动。
内容的提问来源于stack exchange,提问作者Vinay Verma
相关产品推荐
相关产品推荐

