当前位置: 首页 > news >正文

使用Postman进行接口测试、接口自动化和集成CI/CD

接口测试流程

1拿到接口文档(没有需要抓包),熟悉接口业务,接口请求四要素和响应四腰素,接口鉴权方式,错误码业务等

2.编写接口测测试用例(测试点XMND)并评审(怎么测)

正例:正常输入接口的请求四要素,查看并验证接口响应数据的正确性。

接口请求四要素:请求方式,请求路径,请求头,请求数据

接口响应四要素:响应码,响应信息,响应头,响应数据。

反例:接口鉴权反例:鉴权码为空,错误,过明等

接口参数反例:参数为空,参数类型异常,参数长度异常。

业务场景反例:黑名单,接口调用次数,分页(100条,每页10条)

3.使用Postman执行接☐测试

4.通过Postman+Newman+Jenkins实现接口自动化测试持续集成

并且输出报告以及进行邮件,企微,钉钉通知。

接口关联

什么是借口关联

当接口测试的上一个接口的返回值需要作为下一个接口参数。

时间戳:{{$timestamp}}

实现接口关联

使用json对象取值,保存到全局变量

var jsonData =pm.response.json();
console.log("Respense data:",jsonData);var access_token=jsonData.access_token;
console.log("access_token from response", access_token)pm.globals.set("access_token", access_token);

使用正则提取,保存到全局变量

{{access_token}}

全局变量通过{{变量名}}使用

全局变量和环境变量

全局变量

在postman这个应用中,都能使用的变量

环境变量

希望在一套脚本的不同环境都能测试

不同环境的区别在于:IP或者域名不一样

Postman测试批量运行

  • 手动测试
  • 定时运行
  • 通过CLI自动运行:

获取Postman的key

postman login --with-api-key PMAK-681778f395508a00014e7ac1-87399b1df9b105bc2220499cfbff0d3d22
postman collection run 43521970-0efe2428-d163-4142-baca-073a9e7fe78e
  • 性能测试

Fixed:固定

Ramp up:逐步增强

Spike:尖刺

Peak:尖峰

Postman自动化测试结果断言

断言方式

状态断言/业务断言

// 状态断言,是否请求成功验证状态码
pm.test("请求成功", function () {pm.expect(pm.response.code).to.be.oneOf([200, 202]);
}); 
// 业务断言,测试是否包含某个字符
pm.test("Status code name has string", function () {pm.expect(pm.response.text()).to.include("id");
});

Postman自带断言

准确的断言带动态参数的接口

  1. 不使用系统的时间戳({{timestamp}})
  2. 创建自己的时间戳在请求之前
var nowday = Date.now();
pm.globals.set("nowday", nowday);
  1. 把参数修改为自定义时间戳
  2. 断言,不适用{{}}获取全局变量,使用pm.global.get("")
  3. 公共断言写入集合

Postman数据驱动CSV或TXT测试

什么是数据驱动

通过数据驱动用例执行,本质上请求四要素里面的请求参数不同,因为不同的数据传入接口得到不同的结果。所以我们可以先把这些数据设置好,然后读取这个数据文件执行用例。实现覆盖正反例。

实现数据驱动的方法

结构化

设置专门的文件夹管理,复制多个用例设定不同的数据测试

CSV

编写CSV文件,通过{{}}注入参数运行数据

把所有参数改为获取全局变量,参数名要和CSV内的一致

选择数据文件批量运行

缺点:不能做到一个接口一个数据文件,而是所有接口一个数据文件

多个测试怎么设置断言

使用测试用例判断,if

Newman+Allure+Jenkins自动化持续集成

导出测试集和全局变量

前提:需要安装node,newman和html模块

把环境变量改为集合变量

newman run "d:/Postman/ms/Testcase.json" -r html --reporter-html-export "d:/Postman/ms/report.html"

有环境就带上-g“xx.json”

  • Allure生成报告
newman run "d:/Postman/ms/Testcase.json" -r allure --reporter-allure-export "d:/Postman/ms/allure-report"

使用Jenkins生成Allure报告

  1. 配置自定义工作区,把测试用例所在目录输入到工作空间
  2. 输入构建的命令
  3. 构建后选择生成Allure报告

Postman+CLI+Jenkins自动化持续集成

把环境变量改为集合变量

在 Postman 中创建测试集合和环境

  • 创建测试集合:打开 Postman,创建一个新的集合,把所有需要测试的 API 请求添加到这个集合里。
  • 创建测试脚本:针对每个 API 请求,编写测试脚本。测试脚本可以运用 Postman 提供的断言函数来验证 API 的响应是否符合预期。
  • 创建环境变量:若 API 请求包含一些可变的参数,像 URL、认证信息等,可创建环境变量进行管理。

导出 Postman 集合和环境

  • 导出集合:在 Postman 中,点击集合名称旁边的三个点,选择 “Export”,将集合导出为 JSON 文件。
  • 导出环境:同样的操作,将环境也导出为 JSON 文件。

配置 Jenkins

  • 创建新任务:登录 Jenkins,点击 “新建任务”,选择 “构建一个自由风格的软件项目”,输入任务名称后点击 “确定”。
  • 配置源码管理:若测试集合和环境文件存于代码仓库,可在此处配置仓库的 URL、认证信息等。
  • 配置构建触发器:依据需求设置构建的触发条件,例如定时构建、代码变更触发等。
  • 配置构建步骤:在 “构建” 部分,点击 “增加构建步骤”,选择 “Execute shell”(Linux/Mac)或者 “Execute Windows batch command”(Windows)。在命令框中输入 Newman 的运行命令,示例如下:
newman run /path/to/your/collection.json -e /path/to/your/environment.json

配置构建后操作

  • 生成测试报告:若想生成详细的测试报告,可安装 Newman 的报告生成器,如<font style="color:rgb(0, 0, 0);">newman-reporter-htmlextra</font>。安装后,修改构建命令以生成 HTML 报告:
newman run /path/to/your/collection.json -e /path/to/your/environment.json -r htmlextra --reporter-htmlextra-export /path/to/report.html
  • 发布测试报告:在 Jenkins 中,点击 “增加构建后操作”,选择 “Publish HTML reports”。在 “HTML directory to archive” 中输入报告文件所在的目录,在 “Index page [s]” 中输入报告的文件名(如<font style="color:rgb(0, 0, 0);">report.html</font>)。

保存并运行任务

  • 完成上述配置后,点击 “保存”。
  • 手动触发构建或者等待触发条件满足后自动构建,Jenkins 会运行 Newman 命令执行 API 测试,并生成测试报告。
http://www.jsqmd.com/news/54251/

相关文章:

  • 信创环境下的一体化全栈智能运维
  • AI训练素材与数据集供应商推荐:卓特视觉的专业解决方案
  • 2025年国内靠谱的AGV货架生产厂家推荐榜单,立体货架/重载货架/中型货架/组合式货架/流利式货架/背网货架AGV货架批发厂家推荐榜单
  • 28223E2125263E2121203E212424384722B0开
  • 【251128】CF2164 Div.1+2 vp 总结
  • 2025长沙公务员面试培训机构排名,速看!,湖南长沙公务员面试技术引领与行业解决方案解析
  • 2025年四川成都奖杯奖牌定制、奖章证书定制、奖杯定制、水晶奖杯定制、奖牌定制品牌厂家企业推荐top5指南
  • 2025年工业冷风机车间降温技术全解析,铁皮棚车间降温/焊装车间通风降温/压铸车间通风降温/机械厂车间降温工业冷风机厂商推荐排行
  • 2025年长沙公务员面试机构排行榜:前五强揭晓,湖南长沙公务员面试排行优质品牌选购指南
  • 车间降温新方案:工业冷风机2025年趋势,五金车间通风降温/焊装车间通风降温/钢构车间通风降温/制造业车间通风降温工业冷风机企业口碑推荐
  • 详细介绍:【k8s】Deployment、StatefulSet、DaemonSet
  • 2025非遗新中式品牌排行TOP榜,这些品牌正走红,非遗新中式推荐排行色麦新中式层层把关品质优
  • 2025年高定服装加盟品牌市场占有率排行,高定服装加盟采购色麦新中式市场认可度高
  • 2025国风源头排行榜发布,这些品牌上榜!,国风源头推荐排行技术领航者深度解析
  • 2025年工业冷风机维护保养全攻略,延长设备使用寿命,铁皮房车间降温/高大车间厂房通风降温/炼钢车间通风降温工业冷风机公司口碑推荐
  • 2025年新中式高定服装加盟五大推荐品牌,新中式高定服装加盟批发精选优质厂家
  • 2025年靠谱的四川变形缝_变形缝厂家实力及口碑推荐榜
  • 2025年国内正规的AGV货架批发厂家找哪家,悬臂货架/高位货架/精益管料架/贯通货架/牛脚式货架/可调节货架/冷库货架AGV货架产品选哪家
  • HTML基础--面向后端
  • 2025年长沙公务员面试选哪家?最新排名出炉,湖南长沙公务员面试赋能企业生产效率提升与成本优化
  • 2025年工业冷风机车间降温技术全解析,电炉车间通风降温/钢结构车间夏季降温/机械厂车间降温/电镀车间通风降温工业冷风机生产厂家哪家好
  • 中考前最后一个假期!选这些数学老师带你冲刺寒假
  • 2025中国HR SaaS厂商AI进度大盘点
  • SQL Server设置用户查看指定数据库的指定表单
  • 注重交流的成人英语课程怎么选?五大维度深度解析
  • 气体分析仪厂家综合实力榜:2025年度十大气体分析仪厂家排名,权威榜单+技术数据实证
  • 2025年11月门窗源头厂家TOP榜:折叠/静音/平开/智能/极窄推拉门窗厂家售后保障综合实力
  • 深入解析:Mac如何安装mysql和完全卸载mysql
  • 2025年下半年上海砂磨机/肥料设备/纳米砂磨机/设备厂家前五推荐
  • 深入解析:maven打jar包,将依赖的jar提取出来