首页 > 技术文章 > Postman配置环境变量添加token

mingyue5826 2019-06-11 09:32 原文

postman测试接口时,每次都需要获取token以后,复制到接口里,特别复杂。

这里通过把获取token接口的返回数据添加到环境变量,然后将环境变量名设置在其他接口的token中,获取一次token,所有接口的token值都会跟着改变

一、输入代码

Token接口的test输入代码,提取access_token

var jsonData = JSON.parse(responseBody);//将内容转换为json字符串
if (jsonData.access_token){
    tests["body has access_token"] = true;
    postman.setEnvironmentVariable("token",jsonData.access_token);
}
else {
    tests["body has access_token"] = false;
}

二、配置environment

点击Postman右上角 的manage environment符号

Postman有environment的概念,在一个环境下,设置的环境变量可通用,并且可以设置多个environment,配置不同的环境变量

三、点击add,新建一个环境

四、设置参数名,

current value中的内容是第一步提取的参数名,点击Add或者update保存

五、切换环境

点击这里,然后选择刚刚新建的那个环境名称,切换成设置的环境

六、配置接口的token

在输入token的地方输入第四步的参数名{{token}}

七、运行token接口,然后回到刚刚的接口

鼠标放到token这里,能看到token有个值了。说明成功赋值了

八、点击右上角的小眼睛符号(environment quick look)

能查看当前环境的全局变量和环境变量的当前value

附:json表达式

可能不懂里面的那个jsonData.access_token,下面用一个例子来介绍:

假如responseBody为下面一串字符串:

{
    "data": 
        {
            "employees": [
                {
                    "firstName": "Bill",
                    "lastName": "Gates"
                },
                {
                    "firstName": "George",
                    "lastName": "Bush"
                },
               {
                   "firstName": "Thomas",
                   "lastName": "Carter"
                }
            ]
      }
}

其中employees是一个数组,需要用[]来遍历位置。

如果我要获取第一个员工的`firstName,postman中就这样写:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("firstname0",jsonData.data.employees[0].firstName);

推荐阅读