Postman环境变量怎么设置提取传递 Postman动态获取Token关联多接口实战自动化教程

雨墨同学_9660

雨墨同学_9660

2026-04-17

474人浏览

原创

需先创建并启用环境变量,再在登录接口tests中用pm.environment.set()提取token,后续请求通过{{token}}引用,最后在console验证是否成功替换。

postman环境变量怎么设置提取传递 postman动态获取token关联多接口实战自动化教程

如果您在使用Postman进行接口测试时,需要从登录接口响应中动态提取Token,并将其作为环境变量供后续多个接口调用,但无法正确设置或传递该值,则可能是由于变量作用域、提取时机或引用语法不匹配所致。以下是实现此目标的具体操作步骤:

一、创建并启用环境变量

Postman中的环境变量用于跨请求共享数据,必须先定义环境并启用,才能在请求中读写变量值。未启用的环境将导致变量赋值失败或读取为空。

1、点击右上角“眼睛”图标旁的下拉菜单,选择Manage Environments

2、点击Add按钮,输入环境名称(如dev_env),在变量列表中添加一行:
键名填写token,值留空,点击Add

3、返回主界面,在环境选择下拉框中选中刚创建的环境,确保其名称右侧显示Enabled状态。

二、在登录接口响应中提取Token并写入环境变量

需借助Tests标签页中的JavaScript代码,在响应返回后立即解析JSON体,定位Token字段,并通过pm.environment.set()写入环境变量,确保后续请求可实时读取。

1、选中登录接口请求(如POST /api/login),切换到Tests标签页。

2、输入以下代码(假设响应体为JSON格式且Token字段名为access_token):

const jsonData = pm.response.json();

pm.environment.set("token", jsonData.access_token);

3、若Token位于响应头中(如Authorization头的Bearer值),则改用:

const authHeader = pm.response.headers.get("Authorization");

if (authHeader) { pm.environment.set("token", authHeader.replace("Bearer ", "")); }

三、在后续接口中引用已提取的Token

变量写入后,可在任意请求的Headers、Params或Body中通过双大括号语法{{token}}引用,Postman会在发送前自动替换为当前环境变量值。

KULAAI
KULAAI

一款AI开发辅助工具,主要用于Gemini 中文镜像官网,聚合 GPT、Claude、Gork、DeepSeek 等主流 AI 大模型,适合需要提升相关任务效率的用户。

下载

1、打开需认证的接口(如GET /api/user/profile),切换到Headers标签页。

2、新增一行键值对:
Key填写Authorization,Value填写Bearer {{token}}

3、若接口要求将Token放入Query参数,可在Params中添加键为access_token、值为{{token}}的条目。

四、验证Token是否成功传递

通过查看请求实际发出的内容,确认变量是否被正确替换,避免因拼写错误、环境未启用或作用域错配导致引用失效。

1、在目标接口(如/profile)中,点击右上角Send and Download旁的...按钮,选择View Request in Console

2、在Console窗口中检查Headers区域,确认Authorization: Bearer eyJhbGci...中已出现有效Token字符串而非原始{{token}}文本。

3、若仍显示变量名,检查环境是否启用、变量名大小写是否与pm.environment.set()中完全一致、且未在Tests脚本中误用pm.variables.set()(该方法仅用于全局变量)。

五、处理多级嵌套或非标准Token结构

当响应结构复杂(如嵌套在data.result.token)或Token需拼接处理(如添加前缀、截取子串)时,需增强JSON解析逻辑,避免因路径错误导致提取失败。

1、若响应格式为{"code":0,"data":{"result":{"token":"abc123"}}},则提取代码应为:

const data = pm.response.json();

if (data.data?.result?.token) { pm.environment.set("token", data.data.result.token); }

2、若需对Token进行Base64解码后再使用,可添加:

const decoded = atob(data.token.split(".")[1].replace(/-/g, "+").replace(/_/g, "/"));

pm.environment.set("decoded_payload", decoded);

相关专题

更多
软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

2023.10.13

3890

8

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3028

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

4149

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3649

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

346

15

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

2025.12.13

426

14

Figma AI自动化智能数据填充与交互生成实战
Figma AI自动化智能数据填充与交互生成实战

告别机械重复,详细演示如何用 AI 填充业务真实数据,并自动为页面添加交互连线,将静态设计稿快速转变为动态原型。

2026.05.13

245

17

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

140

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

60

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Apache Maven 官方安装指南
Apache Maven 官方安装指南

共0课时 | 0人学习

PHP基础-环境/变量/函数等
PHP基础-环境/变量/函数等

共57课时 | 17.9万人学习