流程控制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格式文件先製做好,再在運行時添加進來,預覽效果如爲:
最終運行效果以下圖所示: