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

如何在Postman中循环使用数组变量发送多份POST请求

解决方法:用全局数组+请求循环实现多批次POST请求

不用CSV的话,靠Postman全局变量+setNextRequest完全能实现你的需求,按以下步骤操作:

1. 完善预请求脚本:初始化数组与索引

替换你现有的预请求脚本,确保不仅组装数组,还要加索引变量跟踪执行进度:

// 取出预设的两个变量值
const group1 = pm.globals.get("newGroupTypeToCreate");
const group2 = pm.globals.get("newGroupTypeToCreateToDelete");

// 组装数组并存为全局变量(数组要转成字符串存储)
pm.globals.set("newGroupTypeList", JSON.stringify([group1, group2]));

// 初始化当前执行索引(第一次从0开始)
if (!pm.globals.get("currentIndex")) {
    pm.globals.set("currentIndex", 0);
}

// 取出当前要用的name值,存为临时变量供请求Body调用
const list = JSON.parse(pm.globals.get("newGroupTypeList"));
const currentName = list[pm.globals.get("currentIndex")];
pm.globals.set("currentGroupName", currentName);

2. 配置请求Body

在POST请求的Body中,直接用{{currentGroupName}}作为name参数的值。比如JSON格式的Body:

{
    "name": "{{currentGroupName}}",
    // 其他参数保持原有配置即可
}

3. 编写测试脚本:控制请求循环

在请求的Tests标签中添加以下代码,用来判断是否继续执行下一次请求:

// 取出数组和当前索引
const list = JSON.parse(pm.globals.get("newGroupTypeList"));
let currentIndex = parseInt(pm.globals.get("currentIndex"));

// 索引自增,准备下一次请求
currentIndex++;
pm.globals.set("currentIndex", currentIndex);

// 判断是否还有未执行的元素:有就继续调用当前请求,没有就终止循环并重置索引
if (currentIndex < list.length) {
    pm.setNextRequest(pm.info.requestName); // 直接复用当前请求名称,无需手动修改
} else {
    pm.globals.unset("currentIndex"); // 循环结束后清空索引,方便下次重新执行
    pm.setNextRequest(null); // 终止后续请求
}

关键注意点

  • 必须把请求放到**集合(Collection)**中执行,setNextRequest仅在集合运行时生效,单独点单个请求的「Send」不会触发循环。
  • 执行时点击集合的「Run」按钮,而不是单个请求的发送按钮。
  • 如果需要重新执行,先检查全局变量里的currentIndex是否已被清空,若没清空手动删除即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 04:15:18