目录:导读
前言
流程控制
流程控制简言之就是设置接口的执行顺序,流程控制只有在collection runner或Newman里才生效
如果需要实现多个接口的一次循环,只需在每个接口的Tests中编写脚本
postman.setNextRequest('下一个接口名');
操作如下图所示:
使用if进行判断来结束执行:
if(globals["我的地盘::创建新列表 - 禅道"])postman.setNextRequest("null");
tests["执行完毕!"] = responseCode.code ===200;
我的地盘::创建新列表 - 禅道为接口B中的返回值,在接口B中将其定义成一个全局变量。接口A通过判断全局变量是否存在进而判断接口B是否执行。
如全局变量存在,将终止执行,否则执行接口B。
postman.setNextRequest("null"); //是一个终止程序作用
注意:
如果不设终止条件,接口A执行完到接口B,接口B执行完又指向接口A,会构成死循环。该示例中if(globals[“我的地盘::创建新列表 - 禅道”])为终止条件。
执行前需将用来做判断的全局变量删除,否则第一次执行完接口A后就将终止执行。
为了更清楚直观的查看运行结果,最好在每一个接口的Tests中增加一个断言,否则难以判断接口A执行的次数
调试
调试有三种方式:
使用Ctrl+Alt+c 可以打开Postman的控制台,可以查看请求和响应(只适用于客户端,不适用于Chrom 插件);
用console.log()打印,到控制台看;
tests[‘这里拼出你想看的字符串’] = true在界面/报告看断言;
使用Postman控制台查看,如下图所示:
使用console.log()打印输出内容操作如下图所示:
使用tests[‘这里拼出你想看的字符串’] = true,tests并不单单是指设置断言,也可以是普通的输出某些信息,如下图所示:
公共函数
常用的公共函数分为六种,分别是:
判断是否超时(assertNotTimeout):
var hasResponse=postman.getResponseHeader(