使用postman循环调用某接口

接上篇: 使用postman创建collection测试接口上篇讲了使用postman创建工作流,第一步查询到职位列表,并保存id,第二步根据id查询到职位详情。那么这篇讲如何依次查询到列表中的每一个职位详情。核心代码也很简单,就是postman.setNextRequest()

首先我们需要将接口命名一下,方便调用,分别为”search”和”detail”

然后再search接口Tests中新增代码,保存关键的信息(postman中也可以打开console窗口,方便调试)
var jobs = pm.response.json().body.JobList.map(function(item){return {id:item.JobID,ref:item.ReferrerType}});
pm.globals.set(“jobs”, jobs);
pm.globals.set(“index”, 0);
console.log(jobs)

在detail接口,Pre-request Script中新增代码:
var index = pm.globals.get(“index”);
pm.globals.set(“index”, ++index);
并在Tests中新增代码
var jobs = pm.globals.get(“jobs”);
var index = pm.globals.get(“index”);
if(jobs.length>index) {
pm.globals.set(“id”, jobs[index].id);
pm.globals.set(“ref”, jobs[index].ref);
postman.setNextRequest(‘detail’);
}else {
postman.setNextRequest(null);
}
以上写法只是为了不修改上一篇代码,index表示当前查询到的列表位置,postman.setNextRequest(‘xxx’)表示执行下一个xxx接口,postman.setNextRequest(null)则表示终止。

运行结果如下

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理