Apache JMeter是一款出色的开源性能和功能测试工具,这款工具提供了丰富的功能和强大的扩展性,可以应对各种复杂的测试需求。当我们在进行接口测试时,经常会遇到需要从接口响应中提取信息并在后续请求中使用的情况。这时候,JMeter中的JSON Extractor就派上了用场。

JSON Extractor是JMeter中的一个Post Processor组件,它可以根据JSON Path表达式从HTTP请求的响应结果中提取需要的信息。接下来,我们将通过一个具体的例子,详细介绍如何使用JSON Extractor。

假设我们的HTTP请求返回了如下的JSON数据:

{
"dataDetail": [
{
"role_id": 1,
"role_code": "132001",
"role_name": "Administrator"
},
{
"role_id": 2,
"role_code": "132002",
"role_name": "User"
}
]
}

我们的任务是提取role_code为"132002"的对象的role_id。首先,在对应的HTTP请求下添加一个JSON Extractor,配置如下:

  • Names of created variables:命名提取字段的变量名。在这个例子中,我们输入my_role_id

  • JSON Path Expressions:输入对应的JSON Path表达式。在这个例子中,我们输入$.dataDetail[?(@.role_code=="132002")].role_id

  • Match No:输入匹配数字。在这个例子中,我们只关心第一个匹配的结果,因此输入1

  • Default Values:输入默认值。在这个例子中,我们可以输入NOT_FOUND作为默认值。

下面是具体的配置:

Names of created variables: my_role_id
JSON Path Expressions: $.dataDetail[?(@.role_code=="132002")].role_id
Match No: 1
Default Values: NOT_FOUND

配置完成后,JSON Extractor会在HTTP请求的响应结果中查找符合JSON Path表达式的值,并将找到的值保存在我们指定的变量中。在这个例子中,如果role_code为"132002"的对象存在,那么my_role_id就会保存这个对象的role_id;如果不存在,那么my_role_id的值就会是我们指定的默认值NOT_FOUND

最后,在后续的请求中,我们就可以通过${my_role_id}的形式来使用这个提取出来的role_id了。

总的来说,JMeter的JSON Extractor是一款极其强大的工具,只要我们正确地使用,就能轻松地从复杂的JSON响应中提取我们需要的信息。

深入理解JMeter中的JSON Extractor的更多相关文章

  1. JMeter 中对于Json数据的处理方法

    JMeter中对于Json数据的处理方法 http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/ J ...

  2. JMeter中返回Json数据的处理方法

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

  3. 【jmeter】JMeter中返回Json数据的处理方法

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

  4. JMeter中返回Json数据的处理方法(转)

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

  5. 【转】JMeter中对于Json数据的处理方法

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

  6. Jmeter中处理json

    我们在做http接口测试的时候,返回的数据都是json串,Jmeter中本身是不支持直接处理json串的,如果要获取到返回结果中指定的值,必须要要通过正则表达式来获取到,正则表达式比较麻烦,写错了就获 ...

  7. jmeter(二十)JMeter中返回Json数据的处理方法

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

  8. Jmeter中的JSON提取器用法

    一.使用前提 一般来说JSON提取器只适用于响应结果中返回的是json数据 二.需求 在下一个接口调用上一个接口的数据,如:请求1返回的结果,处理以后作为请求2的参数使用. 首先需要下载JSON Ex ...

  9. 五、Jmeter中提取JSON响应中数组的长度

    json响应如下: { "code":0, "data":{ "data":[ { "amount":50000, &q ...

  10. jmeter中提取json串

    https://blog.csdn.net/zha6476003/article/details/80295068

随机推荐

  1. 整理不错的opencv博客

    https://me.csdn.net/column/u013095718 更全的博客: https://blog.csdn.net/zhmxy555/column/info/opencv-tutor ...

  2. NodeJS:安装CNPM

    安装命令 npm install -g cnpm --registry=https://registry.npm.taobao.org 使用命令 cnpm install [name] 参考连接 ht ...

  3. 云原生可观测框架 OpenTelemetry 基础知识(架构/分布式追踪/指标/日志/采样/收集器)

    什么是 OpenTelemetry? OpenTelemetry 是一个开源的可观测性框架,由云原生基金会(CNCF)托管.它是 OpenCensus 和 OpenTracing 项目的合并.旨在为所 ...

  4. LeetCode 周赛上分之旅 #39 结合中心扩展的单调栈贪心问题

    ️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问. 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越 ...

  5. 优化 Redis 集群缓存分配:解决节点间分配不均导致内存溢出问题

    一.Redis 集群部署简介 在现代应用程序中,缓存被广泛应用以提高性能和减轻后端数据库的压力.本文将探讨面对 Redis 集群缓存分配不均问题时的解决方法. 我们的 Redis 集群部署包括 3 主 ...

  6. vue3+ts Axios封装—重复请求拦截

    创建好vue3项目 1.安装Axios与Element Plus Axios安装 npm install axios Element Plus 安装 官网入口:https://element-plus ...

  7. Github工具库

    0x01 漏洞练习平台 WebGoat漏洞练习平台: https://github.com/WebGoat/WebGoat webgoat-legacy漏洞练习平台: https://github.c ...

  8. 你准备好了吗,9月19日Java21要来了

    前言 9月份的TIOBE编程语言榜单已公布,Python依然是第一,Java第四. 而这个月还有一个重要的事情,就是9月19日Java21将会全面发布,一段时间没关注的我一口老血喷在屏幕上. 我记得我 ...

  9. iframe标签下的通信

    通常在页面中嵌套iframe的情况下还需要进行消息传递的通信需求.一般分为两种情况: 1.iframe里的链接与父页面链接是非跨域 这种情况处理比较简单,直接在父级页面下就可以写脚本控制iframe里 ...

  10. Content Security Policy(CSP)应用及说明

    什么是CSP CSP全称Content Security Policy ,可以直接翻译为内容安全策略,说白了,就是为了页面内容安全而制定的一系列防护策略. 通过CSP所约束的的规责指定可信的内容来源( ...