postman传递token参数,实现接口测试

我们的需求是这样的,通过获取token的接口返回token(或者有的系统是通过登录接口,返回token),然后请求其他接口时在header头中带上token信息。

OK、接下来我们这样操作:

1. 打开postman软件,准备一个获取token的接口

2.测试获取token的接口,如下图

3. 现在该接口接口给我们返回了token值,我们需要把这个token放到一个全局变量、以后每次操作的时候、带上token即可

4. 新建一个全局变量:

5. ok、关闭之后、接着测试接口,在postman接口对应的【tests】里面添加如下代码:

var data = JSON.parse(responseBody);
if (data.token) {
  tests["Body has token"] = true;
   postman.setEnvironmentVariable("token", data.token);
}
else {
  tests["Body has token"] = false;
}

这段代码的意思是设置刚才设置的全局变量

但是这里需要注意的是,data.token是和接口返回结果中token的位置有关的

{
    "status": "Success",
    "token": "QkxJVEtMUHhaU1NCRU1uRFM0SG1tZlVPS0JWR3FzcGJ3Vm9GMXBTOGlpdz06YWRtaW46NjM2ODI0NTE5MzAwODY3MDAw",
    "username": "admin",
    "message": "The token was successfully generated with a valid time of 30 minutes"
}

如果返回结果中token位置为:

{
    "status": "Success",
   “data” :{ "token": "QkxJVEtMUHhaU1NCRU1uRFM0SG1tZlVPS0JWR3FzcGJ3Vm9GMXBTOGlpdz06YWRtaW46NjM2ODI0NTE5MzAwODY3MDAw"}
    "username": "admin",
    "message": "The token was successfully generated with a valid time of 30 minutes"
}

那么代码就要写成

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;
}

6. 可以看到登录成功、然后我们看下刚才设置的全局变量是否有值存在?

7. 已经设置成功、接下来就是请求接口的时候带上这个token、

8. 只需要这样、token值就发送过去了、然后我们在代码里面获取、

猜你喜欢

转载自blog.csdn.net/qq_39247153/article/details/85989977
今日推荐