流程控制html
调试json
公共函数数组
外部数据文件网络
流程控制简言之就是设置接口的执行顺序,流程控制只有在collection runner或Newman里才生效函数
postman.setNextRequest('下一个接口名');
操做以下图所示:post
if(globals["个人地盘::建立新列表 - 禅道"])postman.setNextRequest("null"); tests["执行完毕!"] = responseCode.code ===200;
postman.setNextRequest("null");是一个终止程序做用
使用console.log()打印输出内容操做以下图所示:spa
使用tests['这里拼出你想看的字符串'] = true,tests并不仅仅是指设置断言,也能够是普通的输出某些信息,以下图所示:插件
经常使用的公共函数分为六种,分别是:代理
设置好以后,来使用以上函数,使用时的代码为:调试
eval(globals.assertNotTimeout);//判断是否超时 eval(globals.logParams);//未超时,显示发出的请求参数 eval(globals.getResponseJson);//未超时,解析返回的JSON对象 eval(globals.assertType);//返回元素的类型 eval(globals.assertEqual);//返回元素是否与预期值一致 eval(globals.assertNotEqual);//返回元素是否与预期值不一致
各函数的具体用法,以下详解:
①第一个函数和第二个函数一块儿使用,先判断是否超时,若未超时,便显示发出的请求参数,操做以下图所示:
tests中的代码为:
eval(globals.assertNotTimeout);
eval(globals.logParams);
②第一个函数和第三个函数一块儿使用,先判断是否超时,若未超时,便解析返回的JSON对象,操做以下图所示:
tests中填入以下代码:
eval(globals.assertNotTimeout);
eval(globals.getResponseJson);
tests[json.expires_in] = 7200;
注意:因为getResponseJson是解析返回的JSON对象,因此接口请求返回的定是JSON才能使用
③返回元素的类型(assertType),操做以下图所示:
tests中代码为:
eval(globals.assertType);
//assertType=(name,value,type); //name为返回的元素key,value为该元素的值,type为该元素的类型 assertType('姓名','boss','string'); assertType('昵称','一壶清酒','string'); assertType('数字',1,'number');
注意:此处需注意的是,数字类型并非常说的int型,而是number,填入int会一直报错
返回元素类型的值中代码:var assertType=(name,value,type)=>{let isType=(type==='array')? Array.isArray(value):typeof value===type; tests[`${name}为${type}(实际值:${value})`]=isType;};
从返回元素类型的值中代码来看,该代码是一个三目运算符,重要点在于typeof中的value值,好比输入该代码:assertType('数字',1,'number');value为1,type为number,便会执行经过pass,若把type改成int,执行结果只会显示fail
进行以下操做就能垂手可得明了,以下所示:
tests中的代码为:
//解释typeof tests[typeof 'hello'] =true;//返回出来的是string,值的类型 tests[typeof 1] =true; //返回出来的是number
④返回元素是否与预期值一致(assertEqual),相等为true(pass),反之为false(fail),操做以下图所示:
tests中代码为:
eval(globals.assertNotTimeout);
eval(globals.getResponseJson); eval(globals.assertEqual); //assertEqual=(name,actual,expected); //name为返回的元素key,actual为返回的实际值,expected为预期值 assertEqual('expires_in',json.expires_in,7200); assertEqual('expires_in',json.expires_in,7100);
作简单的预期结果与实际结果判断也可以下操做:
eval(globals.assertEqual);
//assertEqual=(name,actual,expected); //name为返回的元素key,actual为返回的实际值,expected为预期值 //号码相同pass,不相同fail assertEqual('电话号码',18867210313,18867210313); assertEqual('电话号码',18867210310,18867210313);
⑤返回元素是否与预期值不一致(assertNotEqual),不相等为true(pass),反之为false(fail),操做以下图所示:
tests中代码以下:
eval(globals.assertNotTimeout);
eval(globals.getResponseJson);
eval(globals.assertNotEqual);
//assertNotEqual=(name,actual,expected); //name为返回的元素key,actual为返回的实际值,expected为预期值 //号码不相等pass,相等fail assertNotEqual('expires_in',json.expires_in,7100); assertNotEqual('expires_in',json.expires_in,7200);
在左侧面板中选中该接口并运行,以下图所示:
配置参数,以下图所示:
csv格式文件先制做好,再在运行时添加进来,预览效果如为:
最终运行效果以下图所示: