You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome v114更新后WDIO与Chromedriver性能变慢如何修复?

ChromeDriver 113+/Chrome 112+ 下WebdriverIO测试执行时长暴增及异常问题排查与修复

问题根源分析

  1. 版本兼容性隐性bug:ChromeDriver 113+与Chrome 112+虽官方宣称大版本兼容,但实际在会话通信、指令响应环节存在隐性bug,引发浏览器循环开闭、执行时长暴增等异常。
  2. WDIO依赖适配滞后:你使用的webdriverio@7.23.0和wdio-chromedriver-service@7.2.8属于7.x分支旧版本,未适配ChromeDriver 113+引入的CDP(Chrome DevTools Protocol)更新,导致测试指令阻塞、随机超时错误。
  3. 页面加载策略不匹配: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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:53:10