一、体系概述
这个零代码接口自动化测试体系结合了三个核心工具
-
Postman:用于接口测试设计和执行
-
Jenkins:用于持续集成和自动化调度
-
Allure:用于测试报告生成和展示
二、核心知识点详解
1. Postman 部分
1.1 接口测试基础
-
请求构建:GET/POST/PUT/DELETE等HTTP方法
-
参数传递:Query Params, Path Variables, Body (form-data/x-www-form-urlencoded/raw)
-
Headers设置:Content-Type, Authorization等
1.2 测试脚本(JavaScript)
-
Tests标签页:编写断言脚本
// 状态码断言
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// 响应时间断言
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
// JSON响应断言
pm.test("Response body contains expected value", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.success).to.eql(true);
});
-
Pre-request Script:请求前脚本
// 设置动态变量
pm.environment.set("timestamp", new Date().getTime());
// 生成签名
var signature = CryptoJS.MD5("secret" + pm.environment.get("timestamp")).toString();
pm.environment.set("signature", signature);
1.3 环境变量与全局变量
-
环境管理:开发/测试/生产环境切换
-
变量作用域:环境变量 > 全局变量 > 局部变量
-
动态变量:
{{variable}}
语法引用
1.4 集合(Collection)与文件夹
-
接口组织:按模块划分集合和文件夹
-
集合运行:批量执行接口测试用例
-
数据驱动:CSV/JSON文件导入测试数据
1.5 Newman命令行工具
-
安装:
npm install -g newman
-
基本命令:
newman run collection.json -e environment.json -d data.csv
-
报告生成:
newman run collection.json -r html,json,cli
2. Jenkins 部分
2.1 基础配置
-
安装Postman/Newman插件(可选)
-
配置NodeJS环境(Newman依赖)
-
配置Allure报告插件
2.2 任务配置
-
源码管理:Git/SVN获取测试集合
-
构建触发器:定时构建、代码提交触发等
-
构建执行:
# Windows批处理示例 newman run "TestSuite.postman_collection.json" -e "Env.postman_environment.json" --reporters cli,junit,allure --reporter-junit-export "newman/results.xml" --reporter-allure-export "newman/allure-results"
2.3 报告配置
-
Allure Report:配置报告生成路径
-
邮件通知:测试结果通知
3. Allure 部分
3.1 报告生成
-
安装Allure命令行工具
-
从Newman生成的JUnit/Allure结果生成报告
allure generate allure-results -o allure-report --clean
allure open allure-report
3.2 报告解读
-
概览页面:执行统计、趋势图
-
分类页面:按标签分类的测试结果
-
套件页面:测试集合组织结构
-
图表页面:执行时长分布等图表
-
时间线页面:测试执行时间线
4. 集成流程
4.1 完整工作流
-
在Postman中设计接口测试集合
-
导出集合和环境变量为JSON文件
-
将文件提交到版本控制系统
-
Jenkins拉取文件并执行Newman命令
-
Newman生成JUnit/Allure格式结果
-
Allure处理结果生成可视化报告
-
Jenkins展示Allure报告并发送通知
4.2 进阶配置
-
参数化构建:通过Jenkins参数选择不同环境
-
多阶段构建:接口测试+性能测试组合
-
质量门禁:根据测试结果决定构建状态
三、最佳实践
-
Postman集合设计原则
-
按业务模块组织集合
-
使用描述性名称命名请求和文件夹
-
为每个请求添加充分断言
-
-
环境管理技巧
-
使用环境变量存储敏感信息
-
为不同环境创建独立的环境文件
-
使用初始脚本来设置公共变量
-
-
Jenkins优化建议
-
使用Pipeline脚本代替自由风格项目
-
配置构建保留策略避免磁盘空间问题
-
设置合理的构建超时时间
-
-
Allure报告增强
-
在Postman测试脚本中添加详细描述
-
使用@feature/@story等标签分类测试
-
添加自定义附件(请求/响应日志)
-
四、常见问题解决方案
-
环境变量不生效
-
检查变量作用域是否正确
-
确认环境文件已正确加载
-
验证变量名拼写是否正确
-
-
Newman执行失败
-
检查集合文件路径是否正确
-
确认Node.js和Newman版本兼容
-
添加
--disable-unicode
参数解决控制台编码问题
-
-
Allure报告为空
-
确认Newman正确配置了Allure报告输出
-
检查结果文件生成路径
-
验证Allure命令行工具版本
-
-
Jenkins权限问题
-
确保Jenkins用户有执行Newman的权限
-
检查文件路径权限设置
-
在Jenkins全局工具中配置正确的Node.js路径
-
五、进阶扩展
-
与CI/CD深度集成
-
将接口测试作为流水线的一个阶段
-
根据测试结果自动部署或回滚
-
-
性能测试扩展
-
使用Postman的Collection Runner进行简单负载测试
-
集成JMeter进行专业性能测试
-
-
自定义报告
-
开发Allure插件增强报告功能
-
集成到企业自有平台展示测试结果
-
-
测试数据管理
-
结合数据库准备测试数据
-
使用Mock服务处理依赖接口
-