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

WebdriverIO在CircleCI任务中无法启动浏览器请求超时问题求助

问题核心原因

你的报错本质是Chrome在CircleCI无图形界面的容器环境中启动失败,导致chromedriver接收新建会话请求后无响应,最终触发超时。常见错误点和修复方案如下:

修复方案

  • 优先补全Chrome无头模式启动参数
    CircleCI的容器环境没有桌面图形层,必须给Chrome配置无头启动相关参数才能正常运行,修改你的wdio.conf.js中goog:chromeOptions配置,补充以下参数:

    'goog:chromeOptions': {
      args: [
        '--headless=new', // Chrome 112+版本用该参数,更低版本可替换为--headless
        '--no-sandbox', // 容器环境root用户运行Chrome必须加该参数
        '--disable-dev-shm-usage', // 规避CircleCI容器共享内存不足导致Chrome崩溃的问题
        '--disable-gpu', // 禁用GPU加速避免无头模式报错
        '--window-size=1920,1080'
      ]
    }
    
  • 解决Chrome和chromedriver版本不兼容问题
    你同时用了CircleCI的browser-tools安装全局chromedriver,和wdio的chromedriver-service,二者容易出现版本不匹配的情况,二选一即可:

    1. 要么删除CI配置中的- browser-tools/install-chromedriver步骤,让chromedriver-service自动下载和当前Chrome版本匹配的驱动
    2. 要么在wdio配置中指定用全局安装的chromedriver路径:
    services: [
      ['chromedriver', {
        chromedriverCustomPath: '/usr/local/bin/chromedriver'
      }]
    ]
    
  • 可选调试与优化
    可以在CI的测试执行步骤前加版本校验步骤,提前排查版本问题:

    - run:
        name: 校验Chrome和驱动版本
        command: |
          google-chrome --version
          chromedriver --version
    

    如果CI资源紧张启动慢,可以在wdio配置中调大超时阈值:

    connectionRetryTimeout: 120000 // 单位毫秒,设置为2分钟超时
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:36:01