05postman关联-常用的数据提取方式

把前一个接口的响应数据提取出来,存入变量,供后一个接口使用。

postman常用的数据提取方式

1.json提取

javascript 复制代码
//1.json提取
const res = pm.response.json();
//2. 提取 Token
const token = res.data.token;
//3.存入环境变量
pm.environment.set("loginToken", token);

2.数组提取

javascript 复制代码
// 1. 解析数组响应
const resList = pm.response.json();
// 2. 提取第一个对象的 id
const firstId = resList[0].id;
//3.存入环境变量
 pm.environment.set("firstUserId", firstId);

3.xml提取

javascript 复制代码
<user>
  <id>1001</id>
  <name>张三</name>
  <token>abc123xyz</token>
</user>
javascript 复制代码
// 1. 解析 XML 响应(先转成文本,再用正则/XML解析器提取)
const xmlText = pm.response.text(); // 获取 XML 文本
// 方法 1:用正则提取(简单通用)
const token = xmlText.match(/<token>(.*?)<\/token>/)[1]; // 提取 token
// 方法 2:用 Postman 内置的 xml2js 解析(更规范)
const xmlObj = xml2js.parseString(xmlText, { explicitArray: false });
//3.存入环境变量
pm.environment.set("xmlToken", token);

4.纯文本提取

javascript 复制代码
success|1001|张三|abc123xyz
javascript 复制代码
// 1. 获取纯文本响应
const text = pm.response.text();
// 2. 按分隔符拆分(比如 | 分隔)
const textArr = text.split("|");
const status = textArr[0]; // success
const userId = textArr[1]; // 1001
const token = textArr[3]; // abc123xyz
// 3. 存入变量
pm.environment.set("textUserId", userId);
pm.environment.set("textToken", token);

5.URL 编码格式数据提取

javascript 复制代码
id=1001&name=%E5%BC%A0%E4%B8%89&token=abc123xyz
javascript 复制代码
// 1. 获取 URL 编码文本
const urlEncodedText = pm.response.text();
// 2. 解析成键值对(用内置方法)
const params = new URLSearchParams(urlEncodedText);
const id = params.get("id"); // 1001
const name = decodeURIComponent(params.get("name")); // 解码中文:张三
const token = params.get("token"); // abc123xyz
// 3. 存入变量
pm.environment.set("urlToken", token);
pm.environment.set("urlName", name);

6.响应头提取数据

javascript 复制代码
// 1. 提取指定响应头
const authHeader = pm.response.headers.get("Authorization"); // 获取整个头值:Bearer abc123xyz
const token = authHeader.split(" ")[1]; // 拆分出 token:abc123xyz
// 2. 提取其他头(比如 Content-Type、Set-Cookie)
const contentType = pm.response.headers.get("Content-Type");
// 3. 存入变量
pm.environment.set("headerToken", token);

7.Cookie 提取数据

javascript 复制代码
// 1. 提取指定 Cookie
const sessionId = pm.cookies.get("sessionId"); // 直接获取 sessionId 的值
// 2. 提取所有 Cookie(调试用)
const allCookies = pm.cookies.toObject();
console.log("所有Cookie:", allCookies);
// 3. 存入变量
pm.environment.set("sessionId", sessionId);
相关推荐
保持当下9 天前
分享一些程序员很棘手但是却又简单的工具
程序员·免费·js·工具
程序员小远9 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
LT10157974449 天前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化
程序员三藏10 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
专业机床数据采集10 天前
基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除
网络·测试工具·wireshark·程序传输·宝元数控·dnc·数控程序传输
程序员龙叔10 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH10 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
川石课堂软件测试10 天前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos
LT101579744410 天前
2026年开源自动化测试工具选型指南:功能与适用场景解析
测试工具·开源·自动化