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

如何在Jenkins中运行Protractor测试、集成Allure插件及对接Git?

Jenkins + Protractor + Allure + Git 完整配置指南

刚上手Jenkins跑Protractor测试确实容易摸不着头绪,我整理了一套从基础配置到Allure报告集成,再到和Git托管协同的完整步骤,亲测好用:

一、先搞定Jenkins运行Protractor的基础配置

1. 安装必备插件

首先打开Jenkins的「插件管理」,搜索并安装 NodeJS插件 —— 因为Protractor依赖Node环境,这个插件能帮我们在Jenkins里管理Node版本。

2. 配置全局Node环境

进入Jenkins的「全局工具配置」,找到「NodeJS」选项:

  • 点击「新增NodeJS」,给它起个名字(比如Node 16.x)
  • 勾选「自动安装」,选择和你本地项目兼容的Node版本(别选太新的,避免依赖冲突)
  • 保存配置

3. 创建并配置测试项目

创建一个「自由风格软件项目」,然后在配置页做这些设置:

  • 在「构建环境」里勾选「Provide Node & npm bin/ folder to PATH」,选择刚才配置的Node版本
  • 添加「构建步骤」,选「执行shell」(Windows选「执行Windows批处理命令」),输入以下命令:
    # 安装项目依赖
    npm install
    # 更新并启动webdriver(后台运行,避免卡住构建)
    npx webdriver-manager update
    npx webdriver-manager start &
    # 等待2秒让webdriver启动完成
    sleep 2
    # 运行Protractor测试
    npx protractor conf.js
    

    注意:Windows环境下把npx webdriver-manager start &换成start /B npx webdriver-manager start,sleep 2换成timeout /t 2 /nobreak

二、让Allure插件正常生成报告

1. 安装Allure相关插件

回到Jenkins插件管理,搜索并安装 Allure Jenkins Plugin。

2. 配置全局Allure环境

再去「全局工具配置」,找到「Allure Commandline」:

  • 点击「新增Allure Commandline」,起个名字
  • 勾选「自动安装」,选择和你项目allure-protractor依赖兼容的版本(比如2.18.1)
  • 保存配置

3. 项目端配置Allure报告生成

在你的Protractor项目里执行:

npm install allure-protractor --save-dev

然后修改conf.js,添加Allure报告器配置:

exports.config = {
  // 你的其他配置(比如baseUrl、specs等)
  onPrepare: function () {
    const AllureReporter = require('allure-protractor');
    jasmine.getEnv().addReporter(new AllureReporter({
      resultsDir: './allure-results' // 报告结果的存放目录
    }));
    // 可选:添加截图失败自动附加到报告的逻辑
    jasmine.getEnv().afterEach(function(done) {
      browser.takeScreenshot().then(function(png) {
        allure.createAttachment('Screenshot', function() {
          return new Buffer.from(png, 'base64');
        }, 'image/png')();
        done();
      });
    });
  },
  // 如果用的是Jasmine 2.x,可能需要加这个
  framework: 'jasmine2'
}

4. Jenkins里配置报告展示

回到项目配置页,添加「构建后操作步骤」,选择「Allure Report」:

  • 在「Path」里填写./allure-results(和conf.js里的目录一致)
  • 选择刚才配置的Allure Commandline版本
  • 保存后,下次构建完成就能在项目首页看到「Allure Report」的链接了,点进去就是漂亮的可视化报告!

三、和Git托管项目协同工作

1. 配置Git仓库访问

如果你的Protractor项目托管在Git(GitHub/GitLab/Gitee等),首先确保Jenkins能访问仓库:

  • 私有仓库的话,先在Jenkins的「凭证管理」里添加仓库的访问凭证:HTTPS用用户名密码,SSH用私钥
  • 回到项目配置页的「源码管理」,选择「Git」:
    • 填写仓库的URL(HTTPS或SSH格式)
    • 在「Credentials」里选择刚才添加的凭证
    • 指定要拉取的分支(比如*/main或*/master)

2. 调整构建流程

现在代码会自动从Git拉取,所以构建步骤里不需要手动上传代码了,直接保留之前的npm install、启动webdriver、跑测试的命令就行。

3. 可选:配置自动构建触发器

如果想实现代码提交后自动跑测试,可以配置:

  • GitHub/GitLab的Webhook:在仓库的设置里添加Jenkins的Webhook地址(比如http://你的Jenkins地址/github-webhook/),触发事件选「push」
  • 或者Poll SCM:在项目配置的「构建触发器」里勾选「Poll SCM」,填写 cron 表达式(比如H/15 * * * * 每15分钟检查一次代码更新)

一些踩坑提示

  • 确保Jenkins服务器上安装了Java环境(Allure需要Java 8+)
  • 跑测试时建议用无头浏览器,避免Jenkins服务器没有图形界面的问题,在conf.js的capabilities里添加:
    capabilities: {
      browserName: 'chrome',
      chromeOptions: {
        args: ['--headless', '--disable-gpu', '--window-size=1920,1080']
      }
    }
    
  • 如果webdriver启动失败,试试用directConnect: true(在conf.js里),这样不需要手动启动webdriver-manager,Protractor会直接连接ChromeDriver

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:46:28