可參考原作者的文章:http://www.cnblogs.com/JHblogs/p/6418802.html
在實現(xiàn)接口自動測試的時候傻丝,會經(jīng)常遇到接口參數(shù)依賴的問題赖晶,例如調(diào)取登錄接口的時候茵肃,需要先獲取登錄的key值腔长,而每次請求返回的key值又是不一樣的,那么這種情況下验残,要實現(xiàn)接口的自動化捞附,就要用到postman中設置環(huán)境變量這個功能了;
在postman中,可以利用tests將接口返回的response設置為環(huán)境變量鸟召,供后續(xù)接口使用(類似參數(shù)化的概念)
獲取環(huán)境變量需要具體方法如下圖所示胆绊;
var jsonData =JSON.parse(responseBody);//獲取body中返回的所有參數(shù)
postman.setEnvironmentVariable("appKey",jsonData.data.appKey);//把返回參數(shù)中的keys設置為環(huán)境變量
?如此就能把登錄所需的key設置為環(huán)境變量,供后續(xù)登錄接口的調(diào)用了欧募;
同理压状,獲取headers值更新環(huán)境變量的方法,如下圖跟继;
postman常用方法集合:
1.設置環(huán)境變量
postman.setEnvironmentVariable("key", "value");
pm.environment.get("key", "value");//postman? 5.0以上版本設置環(huán)境變量的方法
2.設置全局變量
postman.setGlobalVariable("key", "value");
pm.globals.set("variable_key", "variable_value");//postman 5.0以上版本設置全局變量方法
3.檢查response body中是否包含某個string
tests["Body matches string"] = responseBody.has("string_you_want_to_search");
pm.test("Body is correct",function () {
? ? pm.response.to.have.body("response_body_string");
});//5.0以上版本方法
4.檢測JSON中的某個值是否等于預期的值
vardata = JSON.parse(responseBody);
tests["Your test name"] = data.value === 100;
JSON.parse()方法种冬,把json字符串轉(zhuǎn)化為對象。parse()會進行json格式的檢查是一個安全的函數(shù)舔糖。?
如:檢查json中某個數(shù)組元素的個數(shù)(這里檢測programs的長度)
vardata = JSON.parse(responseBody);
tests["program's lenght"] = data.programs.length === 5;
5.轉(zhuǎn)換XML body為JSON對象
varjsonObject = xml2Json(responseBody);
tests["Body is correct"] = responseBody === "response_body_string";