postman提取返回值,如token等
1、js腳本如圖1,提取的返回值調(diào)用(寫(xiě)在需要的地方如header/body等)如圖2? ---修改后一定要保存哈!
//postman提取返回值
//設(shè)置環(huán)境變量
var jsonData =JSON.parse(responseBody);? //獲取body中返回的所有參數(shù),并存入變量jsonData
postman.setEnvironmentVariable("userToken",jsonData.data.token); //把返回參數(shù)中的keys(如token)設(shè)置為環(huán)境變量
//斷言
tests["msg"] = jsonData.msg === "操作成功";?
tests["Status code is 200"] = responseCode.code === 200;? //等同于 jsonData.code

//postman提取返回值
//設(shè)置環(huán)境變量
var jsonData2 =JSON.parse(responseBody);? //獲取body中返回的所有參數(shù),并存入變量jsonData
//斷言
tests["msg"] = jsonData2.msg === "修改成功";?
tests["Status code is 200"] = responseCode.code === 200;? //等同于 jsonData.code


2、執(zhí)行




3、遇到問(wèn)題:token過(guò)期、或者JSON?parse?error(?"msg":?"JSON?parse?error:?Cannot?deserialize?value?of?type?`java.lang.Integer`?from?String?),如下圖:
---------原因:返回值(如上面的token或引用的變量)引用時(shí),未和獲取返回值的用例一起執(zhí)行導(dǎo)致。
?--------解決:第一個(gè)用例是登錄后從響應(yīng)體重獲取token,第二個(gè)用例是修改密碼前要用token,兩個(gè)用例不能分開(kāi)分別send執(zhí)行,否則會(huì)報(bào)token過(guò)期。所以要一批run執(zhí)行,如步驟2。


參數(shù)化
如下圖(參數(shù)化前)所示,可以把服務(wù)器IP地址或者用戶(hù)名密碼等參數(shù)化

參數(shù)化:


