You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Postman Runner中提取响应ID生成关联邮箱的CSV用于后续接口?

问题:Postman Runner批量执行后提取响应生成关联CSV

我正在用Postman Runner批量执行POST接口 https://some.abc.xyz/users,请求体为:

{"email": "{{email}}"}

通过CSV文件为Runner传入邮箱值,示例CSV如下:

email
43mn@email.com
44mn@email.com

每次请求成功创建用户后,返回响应格式为:

{"id": "123"}

当前流程运行正常,我需要提取每个响应中的id,生成包含email和userId列的新CSV(格式如下),用于后续通过Runner调用另一个更新接口,请问如何实现?

email,userId
43mn@email.com,123
44mn@email.com,456
实现步骤
  • 步骤1:在请求Tests中添加数据暂存脚本
    打开创建用户的POST请求,切换到「Tests」标签页,添加以下脚本。它会解析响应的id,结合当前迭代的email参数,把数据累积存储到Postman全局变量中:
// 解析响应JSON数据
const resData = pm.response.json();
// 获取当前迭代的email参数值
const currentEmail = pm.iterationData.get("email");
// 读取全局变量中已存储的用户列表,无数据则初始化空数组
let userRecords = pm.globals.get("userRecords") ? JSON.parse(pm.globals.get("userRecords")) : [];
// 将当前用户的email和userId加入数组
userRecords.push({
    email: currentEmail,
    userId: resData.id
});
// 更新全局变量,存储最新的用户列表
pm.globals.set("userRecords", JSON.stringify(userRecords));
  • 步骤2:批量执行完成后导出CSV
    等Runner跑完所有请求后,打开Postman的「控制台」(Console),输入并执行以下代码,控制台会输出格式化好的CSV内容:
// 读取全局变量中的用户数据
const userRecords = JSON.parse(pm.globals.get("userRecords"));
// 构建CSV表头
let csvOutput = "email,userId\n";
// 循环拼接每一行数据
userRecords.forEach(item => {
    csvOutput += `${item.email},${item.userId}\n`;
});
// 打印CSV内容
console.log(csvOutput);

复制控制台里的输出内容,粘贴到记事本或其他文本编辑器,保存为.csv文件即可直接用于后续Runner调用。

  • 步骤3:清理全局变量(可选)
    导出完成后,建议清理全局变量避免干扰后续操作,在控制台执行:
pm.globals.unset("userRecords");

内容的提问来源于stack exchange,提问作者boomslaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 07:00:58