Postman+Jenkins+Allure(0 代码接口自动化体系)

 一、体系概述

这个零代码接口自动化测试体系结合了三个核心工具

  • 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 完整工作流
  1. 在Postman中设计接口测试集合

  2. 导出集合和环境变量为JSON文件

  3. 将文件提交到版本控制系统

  4. Jenkins拉取文件并执行Newman命令

  5. Newman生成JUnit/Allure格式结果

  6. Allure处理结果生成可视化报告

  7. Jenkins展示Allure报告并发送通知

4.2 进阶配置
  • 参数化构建:通过Jenkins参数选择不同环境

  • 多阶段构建:接口测试+性能测试组合

  • 质量门禁:根据测试结果决定构建状态

三、最佳实践

  1. Postman集合设计原则

    • 按业务模块组织集合

    • 使用描述性名称命名请求和文件夹

    • 为每个请求添加充分断言

  2. 环境管理技巧

    • 使用环境变量存储敏感信息

    • 为不同环境创建独立的环境文件

    • 使用初始脚本来设置公共变量

  3. Jenkins优化建议

    • 使用Pipeline脚本代替自由风格项目

    • 配置构建保留策略避免磁盘空间问题

    • 设置合理的构建超时时间

  4. Allure报告增强

    • 在Postman测试脚本中添加详细描述

    • 使用@feature/@story等标签分类测试

    • 添加自定义附件(请求/响应日志)

四、常见问题解决方案

  1. 环境变量不生效

    • 检查变量作用域是否正确

    • 确认环境文件已正确加载

    • 验证变量名拼写是否正确

  2. Newman执行失败

    • 检查集合文件路径是否正确

    • 确认Node.js和Newman版本兼容

    • 添加--disable-unicode参数解决控制台编码问题

  3. Allure报告为空

    • 确认Newman正确配置了Allure报告输出

    • 检查结果文件生成路径

    • 验证Allure命令行工具版本

  4. Jenkins权限问题

    • 确保Jenkins用户有执行Newman的权限

    • 检查文件路径权限设置

    • 在Jenkins全局工具中配置正确的Node.js路径

五、进阶扩展

  1. 与CI/CD深度集成

    • 将接口测试作为流水线的一个阶段

    • 根据测试结果自动部署或回滚

  2. 性能测试扩展

    • 使用Postman的Collection Runner进行简单负载测试

    • 集成JMeter进行专业性能测试

  3. 自定义报告

    • 开发Allure插件增强报告功能

    • 集成到企业自有平台展示测试结果

  4. 测试数据管理

    • 结合数据库准备测试数据

    • 使用Mock服务处理依赖接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值