如何在Postman中实现多流程自动化测试?
Postman多测试流程配置实操方案
以下是针对你提到的两个测试流程的3种常用配置方式,可根据使用场景选择:
方案1:文件夹拆分独立流程(最简单直观,适合日常手动执行)
- 在你的Postman测试集合下新建两个独立文件夹:
- 第一个命名为流程1:创建→删除用户,内部按执行顺序放入创建用户、删除用户接口
- 第二个命名为流程2:创建用户→创建帖子,内部按执行顺序放入创建用户、创建帖子接口
- 先在创建用户接口的
Tests标签页添加代码,把返回的用户ID存入环境变量供下游接口调用:// 请根据实际返回的字段名调整取值逻辑 pm.environment.set("user_id", pm.response.json().data.user_id) - 删除用户、创建帖子接口的入参直接引用变量
{{user_id}}即可 - 运行时直接点击对应文件夹右侧的运行按钮,就能单独执行对应流程,不会互相干扰
方案2:动态分支跳转(适合流程复用,减少重复接口配置)
如果不想重复存放创建用户接口,可以用Postman内置的流程控制函数实现分支跳转:
- 先在集合最前面新增一个初始化请求(可设为无实际请求的占位接口,地址填
{{baseUrl}}即可),在它的Pre-request Script标签页添加流程控制变量:// 执行流程1则赋值为1,执行流程2则赋值为2 pm.environment.set("current_flow", 1) - 在创建用户接口的
Tests标签页添加跳转逻辑:// 先校验创建用户是否成功 if(pm.response.code === 200) { const currentFlow = pm.environment.get("current_flow") if(currentFlow === 1) { // 括号内填删除用户接口的完整准确名称 postman.setNextRequest("删除用户") } else if(currentFlow === 2) { // 括号内填创建帖子接口的完整准确名称 postman.setNextRequest("创建帖子") } } else { // 创建用户失败则终止整个流程 postman.setNextRequest(null) } - 在删除用户、创建帖子接口的
Tests标签页都添加终止逻辑,避免跑完当前流程后执行其他接口:postman.setNextRequest(null) - 运行时只需要修改初始化请求里的
current_flow变量值,再运行整个集合即可执行对应流程
方案3:Newman命令行批量执行(适合CI/CD自动化场景)
如果需要批量执行所有流程,可将集合、环境变量导出后用Newman命令行工具执行:
- 先按照方案1的方式把两个流程拆分为两个独立文件夹
- 执行流程1命令:
newman run 你的测试集合文件名.json -e 环境变量文件名.json --folder "流程1:创建→删除用户" - 执行流程2命令:
newman run 你的测试集合文件名.json -e 环境变量文件名.json --folder "流程2:创建用户→创建帖子" - 也可以写一个脚本批量执行两个命令,实现全流程自动跑
内容的提问来源于stack exchange,提问作者Hamidreza
相关产品推荐
相关产品推荐

