使用JMeter的JSON提取器:通过递归下降查找,从接口响应中提取特定字段

在接口测试中,我们经常需要从返回的JSON数据中提取特定字段以便后续使用。JMeter提供了JSON提取器,可以帮助我们实现这一目标。本文将介绍如何使用JMeter的JSON提取器通过递归下降查找的方式从接口响应中提取特定字段,并通过示例解释JSON表达式中 ".." 的逻辑。

1. 示例接口响应结果:

{
    "data": [{
        "code": "2676e33735cf4ca1a8a6b079da24fad0",
        "name": "报销管理"
    },
    {
        "code": "91b398813a39461ea8389e883dea4861",
        "name": "财务核算"
    },
    {
        "code": "a1b29fc6ff86460a81959d8d06ea13dd",
        "name": "凭证金额校验"
    }]
}

2. 步骤:

2.1 添加JSON提取器:

  在你的HTTP请求之后,添加一个JSON提取器。JSON提取器可以在JMeter的线程组下的HTTP请求中找到。

2.2 配置JSON提取器:

  • "变量名":输入一个变量名称(例如,提取的code将存储在这个变量中,比如 "extractedCode")。
  • "JSON路径表达式":这里我们要提取 "name" 为 "凭证金额校验" 的 "code"。我们使用JSON路径表达式来指定要提取的字段。

  JSON路径表达式如下:

$..[?(@.name=='凭证金额校验')].code

  在这个表达式中,"$.." 表示递归下降查找,而不仅限于当前层级的子元素。它可以检索所有层次的子元素,用来查找具有特定属性的所有嵌套对象。在例子中,它会匹配所有名为 "凭证金额校验" 的对象,并提取它们的 "code" 值。

2.3 使用提取的值:

  在接下来的请求或其他操作中,你可以使用${extractedCode}来引用提取出的值。

通过以上步骤,JMeter能够轻松提取JSON响应中符合条件的字段,并将其存储在指定的变量中供后续使用。

这样,我们就可以利用JMeter的JSON提取器方便地从接口响应中提取所需的字段,以支持更复杂的测试或验证场景。

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值