You need to enable JavaScript to run this app. Travis CI Windows环境跑Node.js测试时报找不到Chrome二进制错误
优惠活动
大模型
产品
解决方案
定价
更多

Travis CI Windows环境跑Node.js测试时报找不到Chrome二进制错误

Windows环境Travis CI下Chrome二进制找不到的解决方法

这个报错的核心触发逻辑是:Travis CI的Windows执行节点上,通过addons.chrome.stable安装的Chrome不会自动将自身路径加入系统可执行文件搜索目录,项目依赖的chromedriver启动时会在默认搜索路径下定位不到Chrome程序,最终抛出退出码为7的错误。你观察到的“先显示1个测试用例通过再抛错”是正常流程——那个通过的用例是纯Node逻辑测试,没有触发WebDriver的浏览器初始化动作,等执行到需要启动浏览器的用例时,才会触发Chrome路径校验的逻辑。

按优先级调整配置即可解决

  • 在.travis.yml中新增全局环境变量,直接向chromedriver指定Chrome的实际安装路径,跳过自动路径搜索环节:
    env:
      global:
        - CHROME_BIN="C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
        - webdriver_chrome_driver="node_modules/chromedriver/lib/chromedriver/chromedriver.exe"
    
  • 不要依赖项目本地固化的chromedriver版本,在测试正式执行前,动态拉取和当前安装的Chrome稳定版完全匹配的chromedriver文件,避免版本不匹配触发的路径识别失效:
    在配置中新增before_script段,加入版本匹配的前置命令:
    before_script:
      - npx webdriver-manager update --chrome
    
  • 补上Windows环境的权限调整命令:Travis的Windows节点默认对C:\Program Files目录的权限管控较严,运行测试的普通用户可能没有读取Chrome程序的权限,需要提前放开权限:
    在before_script段追加权限配置命令:
    before_script:
      - icacls "C:\\Program Files\\Google\\Chrome" /grant travis:F /T
      - npx webdriver-manager update --chrome
    

调整完成后的完整.travis.yml参考

language: node_js
node_js: 
  - node
os: windows
addons:
  chrome: stable
env:
  global:
    - CHROME_BIN="C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
    - webdriver_chrome_driver="node_modules/chromedriver/lib/chromedriver/chromedriver.exe"
before_script:
  - icacls "C:\\Program Files\\Google\\Chrome" /grant travis:F /T
  - npx webdriver-manager update --chrome
script: 
  - npm test

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 08:36:04