如何在 Postman 中,自动获取 Token 并将其赋值到环境变量

发布于:2025-05-01 ⋅ 阅读:(8) ⋅ 点赞:(0)

在 Postman 中,你可以通过 预请求脚本(Pre-request Script)测试脚本(Tests) 实现自动获取 Token 并将其赋值到环境变量,下面是完整的操作步骤:


✅ 一、创建获取 Token 的请求

通常这个请求是一个登录接口,例如:

  • URLhttps://example.com/api/login
  • 方法POST
  • Body(raw - JSON):
    {
      "username": "your_username",
      "password": "your_password"
    }
    

✅ 二、在登录请求的「Tests」中写入脚本,将 token 存入环境变量

假设返回的 token 在响应体中的结构如下:

{
  "token": "abc123xyz"
}

在该请求的 Tests 标签页中添加脚本:

// 提取 token
let jsonData = pm.response.json();
let token = jsonData.token;

// 存入环境变量
pm.environment.set("access_token", token);

✅ 三、在其他请求中使用这个 token

在你需要带上 token 的其他请求中,比如:

  • Header 加入:
    Authorization: Bearer {{access_token}}
    

或者根据实际接口需求设置 token 位置。


✅ 四(可选)、使用「Pre-request Script」实现自动链式调用登录接口

如果你希望 自动在发送请求前先调用登录接口获取 token,可以将登录逻辑写在目标请求的 Pre-request Script 中:

pm.sendRequest({
  url: 'https://example.com/api/login',
  method: 'POST',
  header: {
    'Content-Type': 'application/json'
  },
  body: {
    mode: 'raw',
    raw: JSON.stringify({
      username: 'your_username',
      password: 'your_password'
    })
  }
}, function (err, res) {
  let jsonData = res.json();
  pm.environment.set("access_token", jsonData.token);
});

⚠️ 注意:此时要确保请求在登录完成后才能正确使用 token,Postman 的异步机制可能导致 token 未就绪,因此一般建议单独调用登录接口,除非你确定后续请求不依赖即时获取。