如何在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
相关产品推荐
相关产品推荐

