接上篇: 使用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)则表示终止。
- 运行结果如下