news 2026/8/31 16:32:42

Jmeter正则表达式提取器和JSON提取器基础用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jmeter正则表达式提取器和JSON提取器基础用法

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

最近在利用Jmeter做接口自动化测试,正则表达式提取器和JSON提取器用的还挺多,想着分享下,希望对大家的接口自动化测试项目有所启发。

在 JMeter 中,正则表达式和 JSON 提取器都是用于从响应数据中提取所需内容,但它们的使用场景略有不同。正则表达式提取器适用于处理非结构化或不规则格式的响应数据,而 JSON 提取器适用于处理结构化的 JSON 响应数据。

正则表达式提取器:正则表达式提取器是 JMeter 的内置功能,用于从响应数据中提取特定模式的文本。它适用于那些响应数据中的内容没有明确定义结构的情况。

例如,当响应数据是自由格式的文本、HTML、XML 或其他非结构化数据时,可以使用正则表达式提取器来捕获信息,需要编写适当的正则表达式来匹配并捕获所需的内容。

JSON 提取器:JSON 提取器是 JMeter 的插件,专门用于从 JSON 格式的响应数据中提取数据。它针对 JSON 数据结构进行了优化,并提供了更便捷的方式来解析和提取 JSON 数据。

可以使用 JSON 提取器根据 JSON 路径表达式来定位和提取 JSON 对象、数组或属性中的值。JSON 提取器更适用于处理结构化的响应数据,如 API 响应返回的 JSON 格式数据。

一、使用场景

A接口返回的JSON数据如下,B接口需要用到A接口的返回参数id_card_num,所以需要将A接口返回的参数提取出来,存在一个变量例如card_num_test中,在B接口中直接以${card_num_test}的形式调用即可。

二、正则表达式提取器

1、新建http请求

2、添加正则表达式提取器

选中http请求,鼠标右键–添加–后置处理器–正则表达式提取器

3、填写正则表达式的参数

名称:自定义

Apply to :

要检查的响应字段:

引用名称:下一个请求要引用的参数名称,如填写card_num_test,则可用$card_num_test}引用它。

正则表达式:编写一个正则表达式来匹配要提取的内容,例如"id_card_num":“(.+?)”
():括起来的部分就是要提取的。
.:匹配任何字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。

模板:指定如何处理匹配结果,例如− 1 -1−1表示取所有值,0 00表示随机取值,1 11表示取第一个值,2 22表示取第二个值

匹配数字:1代表全部取值,0表示随机取值

缺省值:如果正则表达式取不到值,则使用此缺省值

4、添加一个Debug Sampler

可以用来调试,验证正则表达式是否正确。

5、执行脚本,查看结果

与接口返回的值一致,证明正则表达式编写正确,B接口需要用到这个值的时候,直接以${card_num_test}的形式调用。

三、JSON提取器

1、新建http请求

2、添加正则表达式提取器

选中http请求,鼠标右键–添加–后置处理器–JSON Extractor

3、填写JSON提取器的参数

名称:自定义

Apply to :应用范围,一般默认为Main sample only,可根据实际使用需求选择

Main sample and sub-samples:作用于主请求和子请求

Main sample only:仅作用于主请求

Sub-samples only:仅作用于子请求

JMeter Variable:作用于JMeter变量(输入框内可输入JMeter的变量名称);用法可用于提取正则表达式提取器中的值

Names of Created variables:作为引用的变量名称,多个变量名通过分号;隔开,自定义

JSON Path expessions:格式为 . (层级名称),本次示例为 .(层级名称),本次示例为.(层级名称),本次示例为.data.id_card_num

Match No.:取第几个数值,0代表随机,-1代表取全部数组数据,1代表取一个变量数值,与设置的变量名称有关,本次示例填-1(说明:如果填写1,后面引用变量的时候直接用c a r d n u m t e s t 即可,如果填写 − 1 ,返回的是一个数组,后面引用变量的时候要用 {card_num_test}即可,如果填写-1,返回的是一个数组,后面引用变量的时候要用cardn​umt​est即可,如果填写−1,返回的是一个数组,后面引用变量的时候要用{card_num_test_1},${card_num_test_2}的形式)

Compute concatenation var(suffix_ALL):匹配到的所有数值并保存,默认为空即可

Default Value:取值失败时展示的内容,默认为空即可

4、添加一个Debug Sampler

可以用来调试,验证正则表达式是否正确。

5、执行脚本,查看结果

与接口返回的值一致,证明正则表达式编写正确,B接口需要用到这个值的时候,直接以${card_num_test_1}的形式调用。

今天的分享就到这里~

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 17:21:33

CANopen实战:如何用SDO和PDO快速配置工业设备(附Python示例代码)

CANopen实战:如何用SDO和PDO快速配置工业设备(附Python示例代码) 在工业自动化领域,让不同厂家的设备“说同一种语言”是系统集成的核心挑战。CANopen协议,作为基于CAN总线的上层应用层协议,正是为了解决这…

作者头像 李华
网站建设 2026/7/14 17:22:10

DeOldify与PS软件协同工作流:AI上色后的人工精修技巧

DeOldify与PS软件协同工作流:AI上色后的人工精修技巧 老照片修复,尤其是上色,一直是个技术活。过去全靠老师傅的经验和手感,现在有了AI工具,比如DeOldify,一键就能让黑白照片焕发色彩,效率提升…

作者头像 李华
网站建设 2026/7/14 17:21:31

解密‘aha items‘:推荐系统中那些让用户忍不住回来的神奇内容

解密aha items:推荐系统中那些让用户忍不住回来的神奇内容 你是否曾有过这样的体验:深夜刷着某个内容平台,突然被一条信息深深吸引,它可能是一个冷门但精准的知识点,一段引发强烈共鸣的感悟,或是一个出乎意…

作者头像 李华
网站建设 2026/7/14 17:21:34

告别模糊!用改良版VAE+D4让你的Stable Diffusion超分模型识别率提升20%

告别模糊!用改良版VAED4让你的Stable Diffusion超分模型识别率提升20% 你是否曾遇到过这样的场景:客户发来一张模糊不清的身份证照片,要求你通过AI技术将其修复到清晰可辨,以便进行后续的自动化识别。你信心满满地调用了最新的Sta…

作者头像 李华
网站建设 2026/7/14 17:21:32

MATLAB并联机器人仿真:运动学与动力学分析结合轨迹跟踪控制研究

MATLAB并联机器人仿真,运动学,动力学,轨迹跟踪控制最近在折腾并联机器人的仿真,发现这玩意儿比串联机器人复杂不少。今天咱们就手把手用MATLAB搞个完整的仿真流程,从基础的运动学建模到轨迹跟踪控制,中间穿…

作者头像 李华