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

目录

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

[✅ 目的说明](#✅ 目的说明)

[📄 示例场景](#📄 示例场景)

[🛠️ 操作步骤](#🛠️ 操作步骤)

[第一步:发送 HTTP 请求](#第一步:发送 HTTP 请求)

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

第三步:使用提取变量

[✅ 正则表达式说明](#✅ 正则表达式说明)

[✅ 调试技巧](#✅ 调试技巧)

[✅ 总结](#✅ 总结)


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

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

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


✅ 目的说明

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

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

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


📄 示例场景

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

java 复制代码
{
  "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 to Main sample and sub-samples
Field to check Body
Name of created variable token
Regular Expression "token"\s*:\s*"(.+?)"
Template $1$
Match No. 1(提取第一个匹配)
Default Value NOT_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 提取器,但掌握正则表达式提取器依然非常有用,尤其在非标准格式响应或兼容旧版本时更灵活。

相关推荐
岁月失语唯石能言17 分钟前
《 Web项目测试实战:博客系统的功能/接口/自动化/性能全流程测试报告》
自动化测试·功能测试·selenium·jmeter·接口测试·压力测试·性能测试
IT_Octopus23 分钟前
JSON 日志里的 `{“$ref“:“$.xxx“}`:从 fastjson 兼容包到原生 fastjson2 的迁移实录
开发语言·python·json
2601_962293532 小时前
浅学python | 正则表达式集锦
正则表达式·字符串匹配·python知识·浅学python·ip地址检查
2601_962295582 小时前
Python中正则表达式的知识汇总分享
python·正则表达式·模块·语法·匹配
启观川3 小时前
Python基础-第 16 章 综合案例:客户信息管理系统
开发语言·笔记·python·正则表达式
2601_962294054 小时前
Python 操作 Word:如何查找、替换和批量修改文本
python·正则表达式·word·文档处理·查找替换
数据狐(Datafox)5 小时前
mercadolibre.item_get 工程实战:美客多商品详情API技术解析与落地应用
java·人工智能·mysql·json
Fcy6486 小时前
Linux下 应⽤层⾃定义协议与序列化(JSON方法)
linux·json
中国软件测试质量协会1 天前
国产性能测试工具:kylinPET高仿真与高并发性能测试技术深度解析——与JMeter、LoadRunner全面对比
测试工具·jmeter
半亩码田1 天前
C#转Python第4.4篇:JSON 处理:json 模块 vs System.Text.Json
python·c#·json