You need to enable JavaScript to run this app. Postman使用Run Collection时如何让指定API重复调用到is_end为true?
优惠活动
大模型
产品
解决方案
定价
更多

Postman使用Run Collection时如何让指定API重复调用到is_end为true?

Postman 单接口循环调用实现方案

实现核心逻辑

依赖 Postman 提供的 pm.setNextRequest() 方法控制请求执行顺序,该方法可以指定集合下一个要执行的请求名称,传入当前请求自身名称即可实现循环调用。

具体操作步骤

  • 第一步:确认你的 www.example.com/quiz POST 请求在集合中的准确名称(示例假设请求名为「Quiz 题目请求」,后续请替换为你自己的请求实际名称),并在该请求的传参位置配置动态变量:如果请求需要携带上一次返回的 quiz_order 参数,直接在对应参数值处填写 {{cv_quiz_order}} 即可。
  • 第二步:替换该请求的「Tests」脚本为以下内容:
var jsonData = pm.response.json();
// 提取返回的quiz_order值,此处根据实际返回结构调整字段名
var quiz_order = jsonData.quiz_order;
pm.collectionVariables.set("cv_quiz_order", quiz_order);

// 可选:添加循环次数限制,避免接口异常导致死循环
if (!pm.collectionVariables.has("cv_quiz_loop_count")) {
    pm.collectionVariables.set("cv_quiz_loop_count", 1);
} else {
    let currentCount = pm.collectionVariables.get("cv_quiz_loop_count");
    pm.collectionVariables.set("cv_quiz_loop_count", currentCount + 1);
    // 超过100次强制跳出循环,可按需调整阈值
    if (currentCount > 100) {
        pm.collectionVariables.unset("cv_quiz_loop_count");
        return;
    }
}

if (!jsonData.is_end) {
    // 下一个请求执行当前接口自身,实现循环
    pm.setNextRequest("Quiz 题目请求");
} else {
    // 清除循环计数变量,避免影响后续执行
    pm.collectionVariables.unset("cv_quiz_loop_count");
    // 不调用setNextRequest时,默认按集合原有顺序执行下一个接口
}
  • 第三步:配置集合运行参数:打开「Run Collection」面板后,迭代次数设置为1即可,循环逻辑由脚本自动控制,不需要依赖集合的多轮迭代。

注意事项

  • pm.setNextRequest() 的入参必须和请求的实际名称完全一致,包括大小写、空格、特殊符号,否则会触发请求执行中断。
  • 如果需要提前终止循环逻辑,直接调用 pm.setNextRequest(null) 即可停止整个集合的运行。

内容的提问来源于stack exchange,提问作者c-an

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 03:36:04