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

JMeter中按条件动态捕获指定响应值的方法求助

实现步骤

1. 从Response 1捕获目标Order GUID(26177172834105120)

给返回Response 1的HTTP请求添加JSON Extractor后置处理器,配置如下:

  • Reference Name: 自定义变量名,比如target_order_guid
  • JSON Path Expression: 根据Response 1的实际JSON结构调整,示例路径(匹配OrderNumber值为J40000099VAN0001的对象,提取对应order guid):
    $..[?(@.OrderNumber.value == 'J40000099VAN0001')].NativeMobile.OrderItem_Order
    
  • Match No.: 填1(取第一个匹配结果)
  • Default Value: 可填NOT_FOUND作为捕获失败的标识

配置完成后,后续请求可通过${target_order_guid}引用该值。

2. 从Response 2捕获目标GUID(3659174697251947)

给返回Response 2的HTTP请求添加JSON Extractor后置处理器,配置如下:

  • Reference Name: 自定义变量名,比如target_guid
  • JSON Path Expression: 结合已捕获的target_order_guid,添加双重条件过滤:
    $..[?(@.NativeMobile.OrderItem_Order == ${target_order_guid} && @.NativeMobile.OrderItem_CustomerProduct == 28710447624499413)].guid
    
  • Match No.: 填1
  • Default Value: 可填NOT_FOUND

兼容非JSON响应的备选方案

如果响应不是标准JSON格式,改用Regular Expression Extractor:

  • 需求1正则示例(匹配OrderNumber与对应order guid的关联关系):
    正则表达式:"OrderNumber":{"value":"J40000099VAN0001"}.*?"NativeMobile.OrderItem_Order":(\d+)
    模板:$1$
  • 需求2正则示例(结合两个条件匹配目标guid):
    正则表达式:"NativeMobile.OrderItem_Order":${target_order_guid}.*?"NativeMobile.OrderItem_CustomerProduct":28710447624499413.*?"guid":(\d+)
    模板:$1$

配置后可通过Debug Sampler和View Results Tree验证变量捕获结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:00:56