问题描述:
1.登录的时候,服务器返回token,这是身份认证,相当于门票,访问其他的接口业务,每次都需要带上这个token,解决方法是,把服务器返回的token设置在postman的环境变量(Environment)
参考:
1.先设置环境变量
点击 postman的系统设置,弹出一个框manage environment,然后点add
2.postman发送登录请求,获取系统返回的token值
postman中Tests设置一段代码,用来获取系统返回的token,Tests可以理解是用来做断言的。
啥是断言?断言大概是检查服务器返回的响应数据是不是和预期一致
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// 把responseBody转为json字符串
// var data = JSON.parse(responseBody);
// 设置环境变量token,供后面的接口引用
// pm.environment.set("token", data.data.token);
var data = JSON.parse(responseBody);
if (data.data.token) {
tests["Body has token"] = true;
postman.setEnvironmentVariable("token", data.data.token);
}
else {
tests["Body has token"] = false;
}
3.点击sent后,token的值就获取到了
4.url也可以做一个环境变量
5.使用获取到的token值发送一个业务的请求
Authorization的下拉框选择:Bearer Token
token的框填写:{{token}}
5.如果认证信息是authorization的话,修改为authorization就可以了,然后在每条请求中带上authorization的认证的环境变量
补充:
var data = JSON.parse(responseBody);
if (data.data.Authorization) {
tests["Body has Authorization"] = true;
postman.setEnvironmentVariable("Authorization", data.data.Authorization);
}
else {
tests["Body has Authorization"] = false;
}
环境变量和全局变量的区别。。
总结,其实他们真没啥区别,进去的地方不一样,一个可以设置多组,一个只可以设置一组,后面再去研究研究他们的不同,改天专门写一篇他们的不同的文章