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

Protractor测试流水线报错:退出码135/199及update-config.json缺失问题

解决Protractor测试流水线的webdriver-manager错误问题

针对你遇到的两个webdriver-manager执行错误,我整理了具体的原因分析和解决方案:

一、指定Chrome版本时出现退出码135(找不到update-config.json)

这个错误通常是因为webdriver-manager的配置文件未正确生成、权限不足,或者依赖安装不完整导致的。可以按以下步骤排查:

  1. 重新安装Protractor依赖
    先确保本地的Protractor和webdriver-manager依赖是完整的,执行:

    npm install protractor --save-dev
    

    这会重新安装所有相关依赖,自动生成必要的配置文件。

  2. 清理旧缓存并重新初始化
    先清理webdriver-manager的旧缓存文件,再重新执行update命令:

    node_modules/protractor/bin/webdriver-manager clean
    node_modules/protractor/bin/webdriver-manager update --versions.chrome=77.0.3865.10
    

    清理操作会移除旧的配置和驱动文件,让webdriver-manager重新生成update-config.json。

  3. 检查运行权限
    如果你的流水线是在Linux/macOS环境下运行,要确保执行命令的用户拥有读写node_modules目录及webdriver-manager配置目录的权限。权限不足会导致无法创建或读取update-config.json,进而触发退出码135。

二、不指定版本时出现退出码199(Chrome版本相关错误)

退出码199本质是ChromeDriver与本地Chrome浏览器版本不兼容导致的——旧版本的webdriver-manager无法自动匹配最新的Chrome版本,或者流水线环境中安装的Chrome版本与默认下载的ChromeDriver不匹配。解决方法如下:

  1. 确认流水线环境的Chrome版本
    先在流水线环境中执行命令查看当前Chrome版本:

    google-chrome --version  # Linux/macOS
    chrome --version         # Windows
    

    根据输出的版本号,指定对应版本的ChromeDriver进行下载(比如你之前尝试的77.0.3865.10就是对应Chrome 77.x版本的Driver)。

  2. 固定Chrome和ChromeDriver版本
    在流水线中明确指定Chrome的安装版本(比如通过包管理工具安装特定版本的Chrome),然后对应执行带版本参数的webdriver-manager update命令,确保两者版本完全匹配。

  3. 指定Chrome执行路径
    如果webdriver-manager无法自动找到Chrome浏览器,可以设置环境变量CHROME_BIN指定Chrome的绝对路径:

    # Linux示例
    export CHROME_BIN=/usr/bin/google-chrome
    # Windows示例(PowerShell)
    $env:CHROME_BIN = "C:\Program Files\Google\Chrome\Application\chrome.exe"
    

    设置后再执行webdriver-manager的update或测试命令。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:40:59