經常使用公共函數:
1).判斷是否超時(assertNotTimeout):
var hasResponse=postman.getResponseHeader('Content-Type')?true:false; if(!hasResponse) tests['服務端在超時前沒返回任何數據,請檢查相關服務、網絡或反向代理設置(如下跳過其餘斷言)']=false;
2).未超時,顯示發出的請求參數(logParams):
if(hasResponse) tests[`[INFO] 請求參數(超時沒返回時不解析):${JSON.stringify(request.data)}`]=true;
3).未超時,解析返回的JSON對象(getResponseJson):
try{if(hasResponse) var json=JSON.parse(responseBody);}catch(err){ tests['服務端沒返回合法的JSON格式,請檢查相關服務、網絡或反向代理設置(如下跳過其餘斷言)']=false; tests[`[INFO] 返回:${responseBody}`]=true; console.error(err);}
4).返回元素的類型(assertType):
var assertType=(name,value,type)=>{let isType=(type==='array')? Array.isArray(value):typeof value===type; tests[`${name}爲${type}(實際值:${value})`]=isType;};
5).返回元素是否與預期值一致(assertEqual):
var assertEqual=(name,actual,expected)=>{tests[`${name}等於${expected}(實際值:${actual})`]=actual===expected;};
6).返回元素是否與預期值不一致(assertNotEqual):
var assertNotEqual=(name,actual,expected)=>{tests[`${name}不等於${expected}(實際值:${actual})`]=actual!==expected;};
eval(globals.assertNotTimeout);//執行string中的JS代碼