JMeter中WHILE控制器内使用JSON Extractor提取filestore_id问题问询
JMeter循环等待filestore_id有效值配置方案
步骤1:配置JSON提取器
将JSON提取器挂载到返回目标JSON的采样器子节点下,配置如下:
- 引用名称:
filestore_id - JSON Path表达式:
$.filestore_id - 匹配编号:
1 - 默认值:
null
步骤2:配置WHILE控制器循环条件
WHILE控制器的条件输入以下表达式,只要filestore_id为null就持续循环:
${__jexl3("${filestore_id}" == "null",)}
如果需要避免死循环,可增加最大循环次数限制(以下示例最多循环20次):
${__jexl3("${filestore_id}" == "null" && ${__counter(TRUE,loop_cnt)} < 20,)}
步骤3:编排WHILE控制器内部结构
按如下顺序放置组件:
- 目标接口采样器(返回包含filestore_id的JSON响应)
- 上一步配置的JSON提取器
- (可选)常量定时器,设置300~1000ms的等待间隔,避免短时间高频调用接口
循环外调用说明
WHILE控制器退出时,filestore_id已经为有效值,直接在外部其他采样器中使用${filestore_id}即可调用该变量。
注意事项
如果接口返回的filestore_id是JSON原生null类型而非字符串"null",可替换WHILE条件为兼容性更强的groovy表达式:
${__groovy(vars.get("filestore_id") == null || vars.get("filestore_id").equals("null"),)}
内容的提问来源于stack exchange,提问作者Chiraag PS
相关产品推荐
相关产品推荐

