news 2026/6/10 12:29:07

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/6/6 16:58:49

SeedVR2-7B:0.8秒重塑1080P视频,AI修复效率提升18倍

SeedVR2-7B:0.8秒重塑1080P视频,AI修复效率提升18倍 【免费下载链接】SeedVR2-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR2-7B 还在为视频修复耗时长、成本高而头疼吗?🤔 传统视频修复方法处…

作者头像 李华
网站建设 2026/6/8 11:11:25

K-Diffusion 完全指南:3步掌握PyTorch扩散模型实战

K-Diffusion 完全指南:3步掌握PyTorch扩散模型实战 【免费下载链接】k-diffusion Karras et al. (2022) diffusion models for PyTorch 项目地址: https://gitcode.com/gh_mirrors/kd/k-diffusion K-Diffusion 是一个基于 PyTorch 实现的先进扩散模型库&…

作者头像 李华
网站建设 2026/6/9 16:34:10

Tone.js音频插件开发实战:从架构设计到WAM标准完整指南

Tone.js音频插件开发实战:从架构设计到WAM标准完整指南 【免费下载链接】Tone.js A Web Audio framework for making interactive music in the browser. 项目地址: https://gitcode.com/gh_mirrors/to/Tone.js 作为一名Web音频开发者,你是否曾为…

作者头像 李华
网站建设 2026/6/10 4:51:41

Qwen3 Embedding系列模型:如何突破多语言文本处理的瓶颈?

Qwen3 Embedding系列模型:如何突破多语言文本处理的瓶颈? 【免费下载链接】Qwen3-Reranker-8B 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-Reranker-8B 在当今全球化的数字时代,企业和技术开发者常常面临一个关键挑战&…

作者头像 李华
网站建设 2026/6/9 15:04:03

打造你的第一个OpenUSD 3D世界:从零开始的场景构建完全指南

想要快速掌握专业的3D场景构建技术吗?OpenUSD作为皮克斯开发的开源场景描述系统,让复杂3D创作变得轻松简单。本终极指南将带你在30分钟内完成从安装到首个3D场景的全过程,无需任何基础! 【免费下载链接】OpenUSD Universal Scene …

作者头像 李华