如何在Postman中实现登录接口调用时自动更新Token?
在Postman中自动设置登录Token(清除旧值+更新新值)
要实现调用登录API时自动清除旧Token并设置新Token,直接在登录请求的Tests标签里写脚本即可,步骤如下:
1. 核心脚本(适配环境/全局变量)
根据你使用的是环境变量还是全局变量,选择对应的脚本:
情况1:使用环境变量
// 1. 清除已存在的环境变量token pm.environment.unset("token"); // 2. 解析登录接口的响应体 const response = pm.response.json(); // 3. 提取新Token(根据你的接口返回结构调整,示例假设返回格式为 {"data": {"token": "xxx"}}) const newToken = response.data.token; // 4. 将新Token设置到环境变量 if (newToken) { pm.environment.set("token", newToken); console.log("旧Token已清除,新Token已更新到环境变量"); } else { console.error("登录接口未返回有效Token,未更新变量"); }
情况2:使用全局变量
把上面脚本里的pm.environment替换成pm.globals即可:
// 1. 清除已存在的全局变量token pm.globals.unset("token"); // 2. 解析登录接口的响应体 const response = pm.response.json(); // 3. 提取新Token(根据你的接口返回结构调整) const newToken = response.data.token; // 4. 将新Token设置到全局变量 if (newToken) { pm.globals.set("token", newToken); console.log("旧Token已清除,新Token已更新到全局变量"); } else { console.error("登录接口未返回有效Token,未更新变量"); }
2. 注意事项
- 调整响应解析逻辑:你的登录接口返回的Token路径可能和示例不同,比如如果返回格式是
{"token": "xxx"},就把response.data.token改成response.token。 - 异常处理:脚本中加入了有效性判断,若未拿到有效Token会在控制台报错,方便排查问题。
- 执行时机:Tests脚本会在请求完成后自动执行,只要发送登录请求,就会自动完成清除旧值、设置新值的操作。
内容的提问来源于stack exchange,提问作者Somesh Joshi
相关产品推荐
相关产品推荐

