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

JMeter多线程场景下如何按指定顺序执行有依赖的Http请求?

JMeter有依赖关系的多线程HTTP测试方案

你要的顺序执行、避免重复发货的需求可以通过以下配置实现:

  • 首先将三个有依赖关系的HTTP请求放在同一个线程组内,按「创建用户→创建订单→发货」的顺序从上到下排列。JMeter默认同一线程组内的请求对每个独立线程都是串行执行的,上一个请求处理完成(含响应提取、断言判断)才会执行下一个,不会出现单个线程内步骤跳变的情况。
  • 变量隔离配置:提取user_id、order_id的JSON提取器,适用范围保持默认的「当前线程」即可,不要修改为全局作用域,保证每个线程提取的变量只在当前线程生命周期内有效,不会出现多线程之间变量互相覆盖、错用其他线程订单ID发货的问题。
  • 前置成功校验,避免无效执行:
    • 在创建用户、创建订单请求后分别添加响应断言/JSON断言,校验接口返回码、业务状态码均为成功状态,一旦前序接口失败直接标记当前线程的本次执行中断,不会继续执行后续步骤。
    • 发货请求前添加If控制器,填入判断条件${__groovy(vars.get("user_id") != null && vars.get("order_id") != null,)},只有两个依赖变量都正常提取到的时候才会执行发货操作,避免前序接口失败、变量为空导致的异常请求。
  • 如果你有参数化订单ID的场景,用到CSV数据集配置组件时,将「共享模式」设置为「当前线程」,保证每个线程读取到的参数是唯一的,不会出现多个线程拿到同一个订单ID重复发货的问题。

如果需要循环执行测试,可在每个循环的开头添加用户参数组件,重置user_id、order_id变量为空,避免上一轮循环的旧变量残留导致的逻辑错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:24:08