问题:
登陆接口获取token,其他接口访问时需携带token
方案:
在登陆接口访问后设置Postman的全局变量(Globals),例如设置环境变量名:token2,值(实时的不用自己手动设置的)为登陆接口访问成功后,在responseBody中的token值,如何设置请看下面具体描述。
步骤:
1.登录接口返回值json大致格式如下:
2.我们需要把这个token放到一个全局变量、之后每次请求的时候、带上token即可(或者根据接口文档的需求只添加“refesh_token”);
3.添加之后关闭,在Postman软件的Tests中(即登录接口的tests中)写以下代码,设置全局变量或环境变量;
//第一种方法
var dataJson = pm.response.json(); // 把responseBody转为json字符串
var tokenStr = dataJson.access_token; //把access_token赋值给tokenStr便于下一步的打印
var freTokenStr = dataJson.refresh_token; //把access_token赋值给tokenStr便于下一步的打印
console.log("first:"+tokenStr); //在控制台打印获取到的token(左上角view--show postman console)
console.log("se:"+freTokenStr); //在控制台打印获取到的token(左上角view--show postman console)
pm.globals.set("token1", tokenStr); //设置全局变量token1
pm.globals.set("token2", freTokenStr); //设置全局变量token2
//第二种方法
pm.test("Status code is 201", function () { //断言
pm.response.to.have.status(201);
});
var data = JSON.parse(responseBody); // 把responseBody转为json字符串
pm.environment.set("access_token", data.access_token); // 设置环境变量token,供后面的接口引用
pm.environment.set("refresh_token", data.refresh_token);
4.点击Send按钮发送请求后,就可以动态设置环境变量名为token2,值为token2值的变量。设置成功后,点击那个眼睛图标,查看变量如图所示:
5.访问其他接口,根据环境变量的格式{{变量名}}获取变量值即可: