当前位置: 首页 > news >正文

JMeter 教程:正则表达式提取器提取 JSON 字段数据

目录

JMeter 教程:正则表达式提取器提取 JSON 字段数据【简单实用】

✅ 目的说明

📄 示例场景

🛠️ 操作步骤

第一步:发送 HTTP 请求

第二步:添加正则表达式提取器

第三步:使用提取变量

✅ 正则表达式说明

✅ 调试技巧

✅ 总结


在使用 JMeter 进行接口测试时,我们经常需要提取响应中的某个字段,比如 token、用户ID、订单号等,用于后续接口请求。

虽然 JMeter 提供了 JSON 提取器,但在某些场景下,使用正则表达式提取器更通用,尤其是早期版本或特殊格式时。

本文将介绍如何使用 正则表达式提取器 从 JSON 响应中提取字段值。


✅ 目的说明

  • 学习用 JMeter 提取接口返回的字段值

  • 掌握正则表达式提取器使用方法

  • 为后续接口传参做准备(如登录后传 token)


📄 示例场景

假设某个登录接口返回如下 JSON 响应:

{"code": 200,"msg": "登录成功","data": {"token": "abc123token456"}
}

我们需要提取 "token" 字段的值,用于后续请求。


🛠️ 操作步骤

第一步:发送 HTTP 请求

  1. 添加一个 线程组

  2. 添加一个 HTTP 请求,请求登录接口

  3. 添加一个 查看结果树(View Results Tree),确认响应中包含 token 字段


第二步:添加正则表达式提取器

在该 HTTP 请求下:

  1. 右键 → AddPost ProcessorsRegular Expression Extractor

  2. 配置如下:

配置项示例值
Name提取token
Apply toMain sample and sub-samples
Field to checkBody
Name of created variabletoken
Regular Expression"token"\s*:\s*"(.+?)"
Template$1$
Match No.1(提取第一个匹配)
Default ValueNOT_FOUND(提取失败时返回)

第三步:使用提取变量

在后续 HTTP 请求中,比如添加一个请求头:

  1. 添加 HTTP Header Manager

  2. 设置 token 头部参数:

名称
token${token}

这时就会自动带上登录返回的 token 值。


✅ 正则表达式说明

正则语法:"token"\s*:\s*"(.+?)"

  • "token":匹配 token 字段名

  • \s*:\s*:匹配冒号前后的空格

  • "(.+?)":非贪婪匹配引号内的 token 值,并放入第 1 个捕获组


✅ 调试技巧

  • 在“查看结果树”中切换到 Debug Sampler,打印变量值

  • 若变量未提取成功,优先检查正则表达式是否匹配成功

  • 你也可以用 NOT_FOUND 作为默认值,观察是否为提取失败


✅ 总结

项目说明
适用工具正则表达式提取器(Regular Expression Extractor)
场景响应体中提取字段值(如 token)
使用方法设置变量名、正则表达式、模板
后续引用方式${变量名} 形式

虽然 JMeter 提供了更强大的 JSON 提取器,但掌握正则表达式提取器依然非常有用,尤其在非标准格式响应或兼容旧版本时更灵活。

 

 

http://www.xdnf.cn/news/568243.html

相关文章:

  • 鸿蒙HarmonyOS最新的组件间通信的装饰器与状态组件详解
  • 多模态学习笔记
  • C语言中的内存函数
  • node.js如何实现双 Token + Cookie 存储 + 无感刷新机制
  • docker exec -it abc bash
  • 【深度学习】使用Anaconda和PyTorch在无显卡Windows系统上配置强化学习环境
  • 亚马逊第四个机器人中心将如何降低30%配送成本?
  • iOS 直播技术及优化
  • Mariadb cpu 93% 问题
  • Ubuntu22.04 系统安装Docker教程
  • 鸿蒙 模块的创建+Video简单使用
  • 在SpringBoot项目中,使用单元测试@Test
  • 解决dedecms织梦系统{dede:arclist keyword=‘动态获取关键词‘}只生效一次
  • Java虚拟机 -虚拟机栈
  • 名师在线杂志名师在线杂志社名师在线编辑部栏目设置
  • 制作一款打飞机游戏53:子弹样式
  • 【Qt】:设置hover属性,没有适应到子控件中
  • 工业相机图像采集卡:机器视觉的核心枢纽
  • 04算法学习_209.长度最小的子数组
  • OS进程调度
  • 第23天-Python Flet 开发指南
  • 多模态大语言模型arxiv论文略读(八十六)
  • LAN(局域网)和WAN(广域网)
  • 深入理解万维网:URL、HTTP与HTML
  • 电路设计基础
  • 前端JavaScript-嵌套事件
  • matlab加权核范数最小化图像去噪
  • Linux——PostgreSQL数据库日常维护
  • 25_05_19Linux实战篇、第一章_02若依前后端部署之路(前端)
  • 在 Excel xll 自动注册操作 中使用东方仙盟软件————仙盟创梦IDE