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

Postman多工作流请求串联咨询:复用公共请求还是复制?

嘿,这个问题我之前帮团队落地过,完全不用复制请求就能搞定!咱们结合文件夹结构、Collection Runner和setNextRequest来一步步实现:

第一步:梳理文件夹结构(核心是归类公共/专属请求)

先把你的请求按「公共流程」和「专属工作流」拆分,这样既清晰又避免重复:

  • 在Collection根目录下创建3个文件夹:
    • 公共前置流程:放入两个工作流都需要的请求,比如登录请求、Create Token请求等
    • 工作流A(比如订单处理):放入只有工作流A需要的专属请求,比如创建订单、查询订单状态
    • 工作流B(比如权限校验):放入只有工作流B需要的专属请求,比如校验用户权限、修改权限配置
第二步:用setNextRequest实现分叉跳转

关键就在Create Token请求的Tests标签里写跳转逻辑,根据你要运行的工作流动态指定下一个请求:

场景1:单独运行某一个工作流

如果只想跑工作流A,就在Create Token的Tests里写:

pm.test("跳转到工作流A的第一个请求", function () {
    // 这里填工作流A第一个请求的名称,要和Postman里的完全一致
    pm.setNextRequest("创建订单");
});

如果要跑工作流B,就改成:

pm.test("跳转到工作流B的第一个请求", function () {
    pm.setNextRequest("校验用户权限");
});

⚠️ 记得在每个工作流的最后一个请求的Tests里加一句pm.setNextRequest(null),避免Runner循环执行。

场景2:批量自动运行两个工作流

如果想一次性跑完两个工作流,用Collection Runner的迭代功能配合数据文件更高效:

  1. 准备一个JSON/CSV数据文件,比如:
    [{"targetWorkflow": "A"}, {"targetWorkflow": "B"}]
    
  2. 在Create Token的Tests里写动态判断逻辑:
    const target = pm.iterationData.get("targetWorkflow");
    if (target === "A") {
        pm.setNextRequest("创建订单");
    } else if (target === "B") {
        pm.setNextRequest("校验用户权限");
    } else {
        // 无匹配时停止运行
        pm.setNextRequest(null);
    }
    
第三步:用Collection Runner执行工作流

单独运行单个工作流

  1. 打开Collection Runner,勾选公共前置流程和对应工作流的文件夹(比如工作流A)
  2. 点击「运行」,公共流程跑完后会自动跳转到工作流A的请求,全程无重复

批量运行两个工作流

  1. 打开Collection Runner,勾选所有三个文件夹
  2. 在「数据」选项里上传你准备好的JSON/CSV文件,设置迭代次数为2
  3. 点击「运行」,Runner会自动迭代两次,分别跑完工作流A和B
额外小技巧:无代码的自定义运行顺序

如果你的场景比较简单,不想写代码,直接在Runner里手动调整运行顺序就行:

  1. 打开Collection Runner,勾选所有请求/文件夹
  2. 在「顺序」面板里,拖拽调整成:
    公共请求1 → 公共请求2 → Create Token → 工作流A请求1 → 工作流A请求2 → 公共请求1 → 公共请求2 → Create Token → 工作流B请求1 → 工作流B请求2
  3. 点击运行即可,这种方式适合偶尔手动执行的场景

总的来说,完全不需要复制公共请求,通过文件夹归类+setNextRequest定向跳转,或者直接在Runner里自定义运行顺序,都能完美实现你的分叉工作流测试需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:42:35