Chrome v114更新后WDIO与Chromedriver性能变慢如何修复?
ChromeDriver 113+/Chrome 112+ 下WebdriverIO测试执行时长暴增及异常问题排查与修复
问题根源分析
- 版本兼容性隐性bug:ChromeDriver 113+与Chrome 112+虽官方宣称大版本兼容,但实际在会话通信、指令响应环节存在隐性bug,引发浏览器循环开闭、执行时长暴增等异常。
- WDIO依赖适配滞后:你使用的
webdriverio@7.23.0和wdio-chromedriver-service@7.2.8属于7.x分支旧版本,未适配ChromeDriver 113+引入的CDP(Chrome DevTools Protocol)更新,导致测试指令阻塞、随机超时错误。 - 页面加载策略不匹配:Chrome 113+调整了页面加载完成的判定逻辑,旧测试代码的默认等待配置未跟进,引发不必要的延迟或随机加载异常。
修复方案
升级WDIO相关依赖
将webdriverio和wdio-chromedriver-service升级到7.x分支最新稳定版,修复对ChromeDriver 113+的兼容性问题:npm install webdriverio@^7.33.0 wdio-chromedriver-service@^7.3.2 --save-dev锁定ChromeDriver精确版本
移除chromedriver版本号的^前缀,指定与当前Chrome版本完全匹配的ChromeDriver版本(例如Chrome为113.xxx则用113.0.5672.63),避免自动升级到不兼容小版本:// package.json "chromedriver": "113.0.5672.63"调整页面加载策略与等待配置
在wdio.conf.js中修改页面加载策略为eager或none,减少不必要的等待时间:exports.config = { capabilities: [{ browserName: 'chrome', 'goog:chromeOptions': { // 你的Chrome配置 }, pageLoadStrategy: 'eager' // 替代默认的normal策略 }] };同时替换测试代码中的固定延迟,使用
waitUntil等显式等待方法,适配新版Chrome的加载行为。优化ChromeDriver会话管理
在wdio-chromedriver-service配置中禁用测试间浏览器重启、开启会话复用,避免频繁创建销毁实例引发的循环开闭问题:exports.config = { services: [['chromedriver', { restartBrowserBetweenTests: false, reuseExistingSession: true }]] };
内容的提问来源于stack exchange,提问作者Dmytro Skakun
相关产品推荐
相关产品推荐

