Newman
newman官网介绍,
Newman 是 Postman 推出的一个 nodejs 库,直接来说就是 Postman 的json文件可以在命令行执行的插件。
Newman 可以方便地运行和测试集合,并用之构建接口自动化测试和持续集成。
项目目录
导出接口集合Json文件
postman中所有接口都可以自定义tests脚本实现断言功能
导出接口集合
导出命名为ids4.postman_collection.json
安装node
https://www.runoob.com/nodejs/nodejs-install-setup.html
安装newman
全局安装
npm install -g newman
安装导出报告模板
用于自动生成测试用例报告
npm install -g newman-reporter-htmlextra
新建run-test.js文件
/*
参考文档
https://github.com/postmanlabs/newman
https://github.com/DannyDainton/newman-reporter-htmlextra#newman-reporter-htmlextra
npm install -g newman-reporter-htmlextra
*/
const newman = require('newman');
newman.run({
collection: './ids4.postman_collection.json', // Collection URL from a public link or the Postman API can also be used
reporters: ['cli', 'htmlextra'], // 同时支持cli,htmltextra两种方式生成
iterationCount: 1,
reporter: {
htmlextra: {
export: './report/report-dashboard.html', //指定生成报告目录
template: './template/template-dashboard.hbs' // 以此模板生成报告
}
}
}, function(err, summary){
if (err) {
throw err;
}
const { total, pending, failed } = summary.run.stats.assertions;
const { responseAverage, responseMin, responseMax, started, completed } = summary.run.timings;
if(summary.run.failures && summary.run.failures.length>0){
console.log("未能通过测试");
process.exit(1);
}
else{
console.log("测试通过");
}
});
运行如下命令
node run-test.js
结果如下
生成报告report-dashboard.html
总结:
- newman已经可以做到将postman所有接口实现自动化单元测试,完全可以集成到gitlab的ci/cd流程
- template参数模板地址:https://github.com/DannyDainton/newman-reporter-htmlextra#newman-reporter-htmlextra