postman接口执行顺序控制
接口执行顺序设置
方法1:在Run Collection中我们可以修改请求的执行顺序
如下图,这里将所有的接口放到一个Collection请求集合中, 我们可以直接拖动接口, 改变默认Collection的各接口执行顺序, 也可以选择不运行哪些请求.
方法2:通过postman.setNextRequest("要执行的接口名称");
来手动控制请求的跳转
除了在Run Collection时调整接口顺序外,我们还可以通过postman.setNextRequest("要执行的接口名称");
来手动控制请求的跳转,如下图, 新建一个Collection, 新增A, B, C, D,E5个请求, 在请求A的Tests脚本中添以下代码:
postman.setNextRequest("D");
这样A执行完下一个就是执行D请求,然后我们看下这5个请求在collection中的执行结果:
从上图我们可以看出, 实际执行collection过程,执行完A请求后跳过了请求B, C, 直接跳转到D请求.,D请求执行完成后继续执行后面的E请求,所以最终结果只执行了A,D,E三个请求
另外如果D请求在运行时未勾选, 则只会运行A请求,结果如下图
通常情况下,我们可以使用if判断来控制流程跳转, 比如, 通过判断A请求是否成功来分别跳转到D请求或B请求.
var jsonData = pm.response.json()
if(jsonData.code== '0')
{
postman.setNextRequest("D");
}
else
{
postman.setNextRequest("B");
}
同时,我们也可以在最后一个请求中使用postman.setNextRequest(), 跳转到前面的请求, 来完成一个循环, 比如在E请求使用postman.setNextRequest("A"), 这样就会无限循环的执行下去,
一般来说, 循环中一定要设置中止条件, 一般通过if判断是否执行postman.setNextRequest(”下一个请求“)来控制是否继续循环
if(globals["wd"] == "海贼王")
{
postman.setNextRequest("null");//是一个终止程序作用
}
tests["A接口执行"]=true;//输出A接口执行
接口B的Teses中编写脚本:
var str = (responseBody.match(new RegExp('<title>(.+?)</title>')))[1];
tests["B接口执行"] = true;//输出B接口执行
postman.setGlobalVariable("wd",str);//把获取到的返回值存为全局变量wd
postman.setNextRequest("A接口");//下一个执行接口为A接口,A接口为接口A的名称
注:wd为接口B中的返回值,在接口B中将其定义成一个全局变量。接口A通过判断全局变量wd是否正确进而判断接口B是否执行。如果全局变量判断正确,将终止执行,否则执行接口B。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律