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

在Jenkins中执行Protractor代码时Chrome无法启动的问题求助

Jenkins运行Protractor时Chrome无法启动的解决方法

情况1:无需可视化,仅需完成测试执行(最常用场景)

Jenkins默认在无桌面环境下运行,直接启动可视化Chrome会失败,配置无头模式即可解决:

  • 修改Protractor配置文件(如conf.js),添加Chrome无头参数:
    exports.config = {
      capabilities: {
        browserName: 'chrome',
        'goog:chromeOptions': {
          args: [
            '--headless=new', // 新版无头模式,兼容性更强
            '--disable-gpu',
            '--window-size=1920,1080' // 指定窗口尺寸,避免页面布局异常
          ]
        }
      },
      // 其他配置(selenium地址、测试用例路径等)
    };
    
  • 此模式下Chrome不会弹出可视化窗口,但能正常执行所有测试逻辑并输出结果。

情况2:需要启动可视化Chrome查看应用

如果必须看到Chrome运行窗口,需给Jenkins配置桌面环境:

Windows环境

  • 打开Jenkins服务属性,将登录账户从「本地系统账户」改为当前登录的用户账户
  • 勾选「允许服务与桌面交互」选项,重启Jenkins服务

Linux环境

  • 安装虚拟桌面工具xvfb:
    sudo apt-get install xvfb # Ubuntu/Debian系列
    # 或
    sudo yum install xorg-x11-server-Xvfb # CentOS/RHEL系列
    
  • 在Jenkins构建步骤中依次执行:
    1. 启动虚拟桌面:Xvfb :1 -screen 0 1920x1080x24 &
    2. 设置环境变量:export DISPLAY=:1
    3. 执行Protractor命令:protractor conf.js

macOS环境

  • 修改Jenkins启动方式,使用当前用户账户而非系统账户运行,确保进程关联到桌面会话
  • 开启远程桌面功能,通过远程连接查看Jenkins运行的Chrome窗口

通用检查项

  • 确保Jenkins节点上的Chrome版本与Protractor依赖的ChromeDriver版本匹配(版本不兼容会直接导致启动失败)
  • 验证Jenkins运行用户有权限访问Chrome安装目录,可在构建步骤中执行which chrome(Linux/macOS)或where chrome(Windows)确认Chrome路径是否可被识别
  • 如果ChromeDriver未被自动识别,可在Protractor配置中手动指定路径:
    exports.config = {
      chromeDriver: '/usr/local/bin/chromedriver', // 替换为实际ChromeDriver路径
      // 其他配置
    };
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:55:24