postman提取返回值,如token等
1、js脚本如图1,提取的返回值调用(写在需要的地方如header/body等)如图2 ---修改后一定要保存哈!
//postman提取返回值
//设置环境变量
var jsonData =JSON.parse(responseBody); //获取body中返回的所有参数,并存入变量jsonData
postman.setEnvironmentVariable("userToken",jsonData.data.token); //把返回参数中的keys(如token)设置为环境变量
//断言
tests["msg"] = jsonData.msg === "操作成功";
tests["Status code is 200"] = responseCode.code === 200; //等同于 jsonData.code
//postman提取返回值
//设置环境变量
var jsonData2 =JSON.parse(responseBody); //获取body中返回的所有参数,并存入变量jsonData
//断言
tests["msg"] = jsonData2.msg === "修改成功";
tests["Status code is 200"] = responseCode.code === 200; //等同于 jsonData.code
2、执行
3、遇到问题:token过期、或者JSON parse error( "msg": "JSON parse error: Cannot deserialize value of type `java.lang.Integer` from String ),如下图:
---------原因:返回值(如上面的token或引用的变量)引用时,未和获取返回值的用例一起执行导致。
--------解决:第一个用例是登录后从响应体重获取token,第二个用例是修改密码前要用token,两个用例不能分开分别send执行,否则会报token过期。所以要一批run执行,如步骤2。
参数化
如下图(参数化前)所示,可以把服务器IP地址或者用户名密码等参数化
参数化: