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