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

如何在JMeter中循环使用JSON提取器获取的设备编号数组?

实现循环遍历设备编号创建工单的方法

在JMeter里要实现遍历所有获取到的设备编号、循环执行POST请求,用ForEach控制器是最直接的方案,步骤如下:

1. 配置ForEach控制器

右键你的线程组 → 添加 → 逻辑控制器 → ForEach控制器,然后在控制器的配置面板里填写这些参数:

  • 输入变量前缀:填equipmentNumber(对应你JSON Extractor设置的变量名前缀,匹配生成的equipmentNumber_1、equipmentNumber_2...格式变量)
  • 输出变量名称:自定义一个变量名,比如currentEqNo(后续POST请求里用这个变量调用当前循环的设备编号)
  • 勾选Use all available indices:自动识别所有匹配到的设备编号数量,无需手动填写起止索引
  • 不要勾选Add "_" before number:因为你的变量名已经是「前缀_数字」的格式

2. 调整POST请求

把需要循环执行的POST请求拖到ForEach控制器下方,然后在请求参数里将原来的${equipmentNumber_1}替换为${currentEqNo}。

备选方案:Loop Controller + 函数组合

如果更习惯用Loop Controller,也可以采用这种方式:

  • 添加Loop Controller,设置循环次数为${equipmentNumber_matchNr}(这是JSON Extractor自动生成的变量,记录了匹配到的设备编号总数)
  • 在POST请求的参数里使用${__V(equipmentNumber_${__counter(,)})}:
    • __counter(,)会在每次循环时自动递增计数
    • __V()函数用来解析拼接后的变量名(比如第一次循环解析为equipmentNumber_1,第二次为equipmentNumber_2)

以上两种方式都能实现依次遍历所有设备编号、循环创建工单的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 07:18:28