问题描述:
登陆接口获取token,其他接口访问都要带上这个token,现在的做法是个个接口复制黏贴token,恶心
解决方案:自动获取token、设置token
1.把登陆接口返回的token自动设置到环境变量(Environment)的token中
1)获取登陆接口的responseBody,确定token的位置,如下图所示,位置是data.data.token
2)、设置Postman自动获取token并设置为Postman环境变量
在登陆接口的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);
点击Send按钮发送请求后,就Postman会自动在环境变量中设置一个变量,变量名为token,值为responseBody中token值。
设置成功后,点击那个眼睛图标,查看变量如图所示:
2.访问其他接口时token值直接读取变量即可。
Postman里面获取变量的语法为:{{变量名}},可能必须在Headers中设置,我的就是这样
3.其他
其他博文用了 Bearer Token从环境变量获取token,然而在我项目中不起作用,可能跟登录框架有关
以下摘自:Postman解决token传参问题
如图红色标注的所示
1、另一个接口
2、TYPE中选择token的类型,我这里用到的是 Bearer Token
3、右边红色标注的部分设置token值,格式为:{{token}},获取前面login接口访问时动态设置的token,
那么这个接口就可以用了
点击Send会访问成功。