POSTMAN使用03_传递token参数,实现接口测试

说明:Postman版本:Version 8.12.1;java开发工具:IDEA

  今天在测试时,遇到了一个GET接口,是通过token来获取数据的,因此,需要通过获取token的接口返回token,然后请求其他接口时在header头中带上token信息。

一、准备一个获取token的接口(为了先获取到token值,后面好使用此token值)

 

 

从上图可以看到,该接口给我们返回了token变量。

二、将上面接口中的token变量设置为全局变量。

现在我们需要把这个token变量设置成全局变量,以便后面操作时可以带上这个token变量。

1、新建一个全局变量

 

 

 2、设置环境名称、变量名称

A、设置环境名称(随便起名字)

 

B、设置变量名称(随便七名字)

INITIAL VALUE 和CURRENT VALUE不用设置,当获取token变量后,软件会自动将值填入。

设置后效果如下:

 

 

 3、在上面接口的Tests中设置获取token值的代码

 

 

 

脚本如下:
var data = JSON.parse(responseBody);
//token在data数据的节点下
if (data.data.tokenMi) {
  tests["Body has token"= true;
   postman.setEnvironmentVariable("token"data.data.tokenMi);
}
else {
  tests["Body has token"= false;
}
脚本说明:
A、token变量名称要与接口获取的名称一致

 

 B、data.data.tokenMi或者data.tokenMi的选择

data.token是和接口返回结果中token的位置有关的

1)接口返回结果为:

{
    "status": "Success",
    "token": "
engoalbid504e97a3f8a6683d929541662ad41a6",
    "userid": "19",
    "message": "UUU"
}
那么,获取脚本要写成

var data = JSON.parse(responseBody);
//token在data数据的节点下
if (data.tokenMi) {
  tests["Body has token"= true;
   postman.setEnvironmentVariable("token"data.tokenMi);
}
else {
  tests["Body has token"= false;
}
2)接口返回结果为:

 

{
    "msg""登录成功!",
    "code"200,
    "data": {
        "tokenMi""engoalbid504e97a3f8a6683d929541662ad41a6",
        "userid""19",
        "username""UUU"
    }
}
那么,获取脚本要写成
var data = JSON.parse(responseBody);
//token在data数据的节点下
if (data.data.tokenMi) {
  tests["Body has token"= true;
   postman.setEnvironmentVariable("token"data.data.tokenMi);
}
else {
  tests["Body has token"= false;
}
4、测试是否设置成功
A、触发一次接口

 

 B、查看设置的全局token变量是否有值了

1选择全局变量

2、点眼睛图标

 

C、获取到了token值

 

 配置成功

三、GET中使用token变量值

1、新建GET测试接口,在Heads中设置token值

 

 说明:

KEY输入的值,与后端controller中配置的token名称一致

VALUE,{{token}},其中的token就是设置的全局变量里面的变量名称

 

 2、接口测试,连接成功。

 

 

 

 
posted @ 2021-09-17 11:58  临渊羡鱼v  阅读(851)  评论(0编辑  收藏  举报