用postman做接口测试的时候 经常会遇到传递token/Authorization和动态id的问题,用户登录后自动生成token/Authorization 后每次都是手动写入下个接口的header里面,这样其实挺麻烦的。
手动设置变量
注意!变量引用使用 {{值}}
,和jmeter一样。
自动获取值动态填入
传递token
登录成功后获取token 并设置为变量
- 首先在 test 里面添加判断接口是否返回成功。
// 首先判断接口登录成功是否返回200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
- 然后在获取token 将token设置为变量
// 获取data 里面的数据(id,token等)
var data = JSON.parse(responseBody);
if (data.data.id) {
tests["Body has id"] = true;
postman.setEnvironmentVariable("id", data.data.id);
}
else {
tests["Body has token"] = false;
}
- 在变量里面设置好变量名称,值为空;变量id要与下面的id对应
传递Authorization
Authorization与token不一样 它是放在header当中
test参数写入以下断言判断
// 首先判断接口登录成功是否返回200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// 获取header 里面的 Authorization
var jsondata = postman.getResponseHeader("Authorization");
postman.setEnvironmentVariable("Authorization", jsondata);
console.log(jsondata)
全局接口使用
传递Data下Tonkerh&id
传递Herder下Authorization
下面来看一下效果