概述

基本上我们开发的接口都需要客户端请求时携带 token 才允许访问,我们用 postman 测试接口时,也需要给这些接口携带上 token,如果每个接口都手动加上 token 字段的话就太麻烦了

幸好 postman 提供环境变量分组给我们可以用在 url、请求参数中使用占位符的方式将同样的字符做统一替换,还提供了 Pre-request Script 和 Tests,允许我们在发出请求前做前置操作,以及请求结束后做后置操作

下面我们利用 Pre-request Script、Tests 来实现请求登陆接口成功后,其他接口请求时自动将 token 携带到请求头中

登陆接口保存 token 到环境变量中

假设登陆接口返回参数如下

{
	"code": 0,
	"msg": "success",
	"data": {
		"access_token": "fdsafdsafdsafdsafdsafdafdsfsafdsafsd"
	}
}

在登陆接口的 Tests 里面写获取 token 的代码

var data = JSON.parse(responseBody);
console.log(data)

if (data && data.access_token) {
    tests["body has token"] = true;
    postman.setEnvironmentVariable("token", data.access_token)
} else {
    tests["body has token"] = false;
}

请求前自动填入 token

假设接口的请求 token 是存放在请求头的 Authorization 字段中

点击,设置 Pre-request Script

pm.request.addHeader("Authorization: " + pm.environment.get("token"))

如果你创建了文件夹,也可以在文件夹的 Pre-request Script 配置中写入这段脚本,他会让文件夹下的所有接口都生效