使用postman循环调用某接口

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

  1. 首先我们需要将接口命名一下,方便调用,分别为"search"和"detail"
  2. 然后再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)
  3. 在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)则表示终止。

  4. 运行结果如下

你可能感兴趣的:(postman)