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

如何在WebdriverIO中实现ChromeDriver自动更新

WebdriverIO ChromeDriver自动更新解决方案

方案1:使用官方ChromeDriver服务(最适配)

WebdriverIO官方维护的wdio-chromedriver-service原生支持自动匹配更新ChromeDriver,无需人工干预:

  • 第一步:安装依赖包
    执行命令:npm install @wdio/chromedriver-service chromedriver --save-dev
  • 第二步:修改wdio配置文件
    打开项目中默认的wdio.conf.js,修改services配置项:
    export const config = {
      // 其余原有配置不做改动
      services: [
        ['chromedriver', {
          // 开启自动下载匹配当前Chrome版本的驱动
          autoDownload: true,
          // 自动检测本地安装的Chrome版本
          detectBrowserVersion: true
        }]
      ]
    }
    

配置完成后每次启动测试前,服务都会自动校验Chrome和ChromeDriver的版本匹配性,版本不对应时会自动下载对应版本的驱动,不会再出现版本不兼容报错。

方案2:Selenium Standalone服务适配(多浏览器场景适用)

如果你的测试框架需要同时兼容Chrome、Firefox等多浏览器,可以使用@wdio/selenium-standalone-service统一管理所有浏览器驱动:

  • 安装依赖包:npm install @wdio/selenium-standalone-service --save-dev
  • 修改wdio.conf.js配置:
    export const config = {
      // 其余原有配置不做改动
      services: [
        ['selenium-standalone', {
          installArgs: {
            drivers: {
              chrome: { version: 'latest' }
            }
          },
          args: {
            drivers: {
              chrome: { version: 'latest' }
            }
          }
        }]
      ]
    }
    

该配置会在服务启动时自动拉取最新稳定版Chrome对应驱动,同时也支持对其他浏览器驱动做同样的自动更新配置。

方案3:前置脚本校验更新(无侵入适配现有配置)

如果你不想改动现有框架的服务配置,可以在测试执行前新增一个前置校验脚本,版本不匹配时自动更新ChromeDriver后再执行测试:

  • 在package.json中新增执行顺序配置:
    {
      "scripts": {
        "pretest": "node ./scripts/update-chromedriver.js",
        "test": "wdio run ./wdio.conf.js"
      }
    }
    
  • 自行实现的update-chromedriver.js只需要完成两个逻辑:获取本地Chrome版本、下载对应版本的ChromeDriver覆盖原有文件即可。

注意:如果你的Chrome为企业域管控的定制版本,可在对应配置中指定固定版本匹配规则,避免自动下载的驱动与定制版Chrome不兼容。

内容的提问来源于stack exchange,提问作者Aman Sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:09:05