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

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


✅ 一、创建获取 Token 的请求

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

  • URLhttps://example.com/api/login

  • 方法POST

  • Body (raw - JSON):

    json 复制代码
    {
      "username": "your_username",
      "password": "your_password"
    }

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

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

json 复制代码
{
  "token": "abc123xyz"
}

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

javascript 复制代码
// 提取 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 中:

javascript 复制代码
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 未就绪,因此一般建议单独调用登录接口,除非你确定后续请求不依赖即时获取。

相关推荐
测试老哥3 天前
Selenium 使用指南
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
文人sec3 天前
性能测试-jmeter9-逻辑控制器、定时器压力并发
测试工具·jmeter·性能优化·模块测试
java搬砖工-苤-初心不变4 天前
基于 lua_shared_dict 的本地内存限流实现
开发语言·junit·lua
程序猿多布4 天前
XLua教程之热补丁技术
unity·c#·lua·xlua
java搬砖工-苤-初心不变4 天前
OpenResty 限流方案对比:lua_shared_dict vs Redis
redis·lua·openresty
程序猿多布4 天前
XLua教程之Lua调用C#
unity·c#·lua·xlua
夜猫逐梦5 天前
【Lua】Windows 下编写 C 扩展模块:VS 编译与 Lua 调用全流程
c语言·windows·lua
Freed&5 天前
《没有架构图?用 netstat、ss、tcpdump 还原服务连接与数据流向》
网络·测试工具·tcpdump
java搬砖工-苤-初心不变5 天前
OpenResty 配合 Lua 脚本的使用
开发语言·lua·openresty