使用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提取器方便地从接口响应中提取所需的字段,以支持更复杂的测试或验证场景。
相关文章:
使用JMeter的JSON提取器:通过递归下降查找,从接口响应中提取特定字段
在接口测试中,我们经常需要从返回的JSON数据中提取特定字段以便后续使用。JMeter提供了JSON提取器,可以帮助我们实现这一目标。本文将介绍如何使用JMeter的JSON提取器通过递归下降查找的方式从接口响应中提取特定字段,并通过示例解释JSON表达…...
Js全部循环方法解析
forEach方法 没有返回值,与 for 循环没有什么区别。 [1,2,3,4,5,6,7,8,9,0].forEach(item > {console.log(item); })map方法 返回一个新数组,不改变原数组。通过return内的操作后的数据 const newArr [1,2,3,4,5,6,7,8,9,0].map(item > {retu…...
高阶SQL语句(二)
一 子查询 也被称作内查询或者嵌套查询,是指在一个查询语句里面还嵌套着另一个查询语 句。子查询语句 是先于主查询语句被执行的,其结果作为外层的条件返回给主查询进行下一 步的查询过滤。 ①子语句可以与主语句所查询的表相同,也可以是不…...
Phoenix伪分布安装
引言 Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫…...
Python算法100例-4.6 歌星大奖赛
完整源代码项目地址,关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.问题拓展7.知识点补充 1.问题描述 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最…...
静态路由表学习实验
实验要求:各个pc设备可以通信,并且可以访问外网,假设R1已连接外网 拓扑结构 思路:配置pc机ip地址,子网掩码,和网关(网关地址是上层路由接口的地址),配置路由各个接口地址…...
客户端测试 可测性改进-学习记录
客户端测试面临的挑战 难点: 业务复杂,产品多,技术栈多样 测试过程的痛点: 配置-》执行-〉检查-》结果 手工测试前置配置操作极其繁琐:安装测试包-〉进入debug页面-》设置h-〉设置AB test-》锁定rn包-〉进入业务页…...
机器学习和神经网络9
通过前几次学习,相信对机器学习和神经网络已经有了较为深入的了解。 让我们从一些经典的机器学习算法和实际代码示例开始。: 线性回归:用于预测连续输出的基本算法。你可以从这里找到详细的原理和代码示例。 K-近邻算法 (k-Nearest Neighbors, kNN):一种简单但有效的分类和…...
http模块—http请求练习
题目要求:搭建如下http服务: 1.当浏览器向我们的服务器发送请求时,当请求类型是get请求,请求的url路径地址是/login。响应体结果是登录页面 2.当浏览器向我们的服务器发送请求时,当请求类型是get请求,请求…...
视频号原视频下载使用方法?新人都在用
视频号已经成为我们生活中不可或缺的一种方式,让更多人跃跃欲试,分享自己的生活瞬间或专业知识。然而,有时我们可能需要从视频号中提取原视频,无论是为了备份、编辑还是其他用途。本文将详细解析如何有效、安全地从视频号提取原视…...
用html画一个烟花特效
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>烟花特效</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/fontawesom…...
SQL-CRUD-1
第一关任务描述 本关任务: 用insert给数据库添加数据 相关知识 有关系student(sno,sname,ssex,sage,sdept),属性对应含义:学号,姓名,性别,所在系。现有的部分元组如下所示 insert 向数据库表插入数据的…...
linux 命令行下的计算器
!!! author 文章目录 1. echo 运算器, 推荐2. bc 计算器, 不推荐3. dc 计算器, 不推荐4. awk计算器. 推荐5. python. 推荐 1. echo 运算器, 推荐 限制是仅能在整数运算时使用 $ echo $((10534)) 70 优点,输入简洁, 支持运算表达式,支持16进制,10进制混合输入. 缺点,不支持浮点…...
Available platform plugins are: linuxfb, minimal, offscreen, vnc.
说明: buildroots根文件中已经移植好了QT的库,但是运行QT交叉编译之后的可执行文件报错: qt.qpa.plugin: Could not find the Qt platform plugin "eglfs" in "" This application failed to start because no Qt platf…...
C++中string容器的修改操作
目录 1.push_back() 尾插字符 2.append() 尾插字符串 3.operator 4.assign 覆盖 5.insert() 指定位置插入 6.erase() 删除 7.replace() 替换 8.swap() 交换 9.pop_back() 尾删 1.push_back() 尾插字符 void push_back (char c) string s("i miss gjj"); s…...
Elasticsearch:虚拟形象辅助和对话驱动的语音到 RAG 搜索
作者:来自 Elastic Sunile Manjee 搜索的演变 搜索已经从产生简单结果的简单文本查询发展成为容纳文本、图像、视频和问题等各种格式的复杂系统。 如今的搜索结果通过生成式人工智能、机器学习和交互式聊天功能得到增强,提供更丰富、更动态且与上下文相…...
测试开发工程师(QA)职业到底需要干些什么?part7:硬件测试工程师QA
概述 硬件测试工程师QA主要负责确保硬件产品在设计、制造和交付过程中的质量和性能。主要任务是进行测试、验证和分析硬件系统、组件和设备,以确保其符合规格和质量标准。下面是硬件测试工程师QA在其工作中常涉及的一些方面: 测试计划和策略:…...
Python基础:标准库 -- pprint (数据美化输出)
1. pprint 库 官方文档 pprint --- 数据美化输出 — Python 3.12.2 文档 pprint — Data pretty printer — Python 3.12.2 documentation 2. 背景 处理JSON文件或复杂的嵌套数据时,使用普通的 print() 函数可能不足以有效地探索数据或调试应用程序。下面通过一…...
Visual Studio 小更新:改善变量的可见性
在 Visual Studio 2022 17.10 预览版 2 中,我们改善了一些小功能,例如:在调试版本中,变量窗口现已可以显示调用堆栈中任意帧的局部变量。 如需体验此功能,请直接安装最新预览版本,就可以知道是怎么一回事儿…...
C++自主点餐系统
一、 题目 设计一个自助点餐系统,方便顾客自己点餐,并提供对餐厅销售情况的统计和管理功能。 二、 业务流程图 三、 系统功能结构图 四、 类的设计 五、 程序代码与说明 头文件1. SystemMap.h #pragma once #ifndef SYSTEMMAP #define SYSTEMMAP #in…...
石油勘探中的地震波“翻译官”:如何读懂时距曲线图里的地下秘密?
石油勘探中的地震波“翻译官”:如何读懂时距曲线图里的地下秘密? 站在戈壁滩的勘探营地,望着屏幕上那些看似杂乱的波形曲线,刚入行的地质工程师小李皱起了眉头。"这些弯弯曲曲的线条,到底在诉说什么样的地下故事&…...
Graphormer企业级应用:制药公司分子筛选流水线中的轻量部署实践
Graphormer企业级应用:制药公司分子筛选流水线中的轻量部署实践 1. 项目背景与价值 在药物研发领域,分子筛选是耗时耗力的关键环节。传统实验方法需要数月时间才能完成数千种化合物的性质测试,而基于AI的分子属性预测技术可以将这一过程缩短…...
Heygem数字人系统效果展示:看一段音频如何驱动多个数字人视频
Heygem数字人系统效果展示:看一段音频如何驱动多个数字人视频 1. 系统核心能力概览 Heygem数字人视频生成系统批量版webui版是一款基于AI技术的创新工具,能够将单一音频源同步驱动多个数字人视频生成。系统采用先进的语音驱动口型同步技术,…...
Buck电路设计避坑指南:为什么你的小信号模型仿真总是不收敛?
Buck电路小信号模型仿真收敛问题实战解析 在电力电子系统设计中,Buck变换器的小信号模型仿真对于理解系统动态特性至关重要。然而,许多工程师在从理论转向实践时,常常遇到仿真不收敛、波形异常等问题。本文将深入剖析这些问题的根源ÿ…...
GLM-4.1V-9B-Base行业落地:建筑图纸局部区域语义理解与标注建议
GLM-4.1V-9B-Base行业落地:建筑图纸局部区域语义理解与标注建议 1. 建筑行业的AI视觉理解需求 建筑设计和施工过程中,图纸理解与标注是一项耗时且容易出错的工作。传统方式需要经验丰富的工程师手动识别图纸中的各个元素,不仅效率低下&…...
Qwen3.5-9B实战案例:用128K上下文做法律合同比对与风险提示
Qwen3.5-9B实战案例:用128K上下文做法律合同比对与风险提示 1. 项目概述 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型,在专业领域的逻辑推理和长文本处理方面表现出色。本文将重点展示如何利用其128K tokens的超长上下文能力,实现法律合…...
从iptables迁移到nftables:表/链/规则的对照操作指南(含性能对比)
从iptables到nftables的平滑迁移实战指南 在Linux网络安全管理领域,防火墙技术的演进从未停歇。对于已经熟悉iptables的中高级用户而言,nftables的出现既是挑战也是机遇。作为Netfilter项目的新一代防火墙框架,nftables不仅统一了IPv4/IPv6防…...
CAN总线数字信号特性与工程应用解析
1. CAN总线信号本质解析CAN总线采用数字信号传输机制,这是由其底层电气特性和协议设计决定的。在物理层上,CAN总线使用差分电压信号(CAN_H和CAN_L)表示逻辑状态:当CAN_H电压高于CAN_L约1.5V时表示显性位(逻…...
VSCode插件离线安装的隐藏技巧:如何批量安装.vsix文件提升效率
VSCode插件离线批量安装实战指南:企业级效率提升方案 在团队协作或企业内网环境中,开发者常面临VSCode插件安装的困境——无法访问官方市场、重复下载耗时、版本管理混乱。传统单个.vsix文件安装方式在需要部署数十个插件时,效率低下到令人抓…...
Python 正则表达式详解:从原理到实践
Python 正则表达式详解:从原理到实践 1. 背景与动机 正则表达式(Regular Expression)是一种用于匹配字符串中字符组合的模式,它在文本处理、数据提取、验证等场景中发挥着重要作用。Python 的 re 模块提供了对正则表达式的支持&am…...
