JMeter 教程:正则表达式提取器提取 JSON 字段数据
目录
JMeter 教程:正则表达式提取器提取 JSON 字段数据【简单实用】
✅ 目的说明
📄 示例场景
🛠️ 操作步骤
第一步:发送 HTTP 请求
第二步:添加正则表达式提取器
第三步:使用提取变量
✅ 正则表达式说明
✅ 调试技巧
✅ 总结
在使用 JMeter 进行接口测试时,我们经常需要提取响应中的某个字段,比如 token、用户ID、订单号等,用于后续接口请求。
虽然 JMeter 提供了 JSON 提取器,但在某些场景下,使用正则表达式提取器更通用,尤其是早期版本或特殊格式时。
本文将介绍如何使用 正则表达式提取器 从 JSON 响应中提取字段值。
✅ 目的说明
-
学习用 JMeter 提取接口返回的字段值
-
掌握正则表达式提取器使用方法
-
为后续接口传参做准备(如登录后传 token)
📄 示例场景
假设某个登录接口返回如下 JSON 响应:
{"code": 200,"msg": "登录成功","data": {"token": "abc123token456"}
}
我们需要提取 "token"
字段的值,用于后续请求。
🛠️ 操作步骤
第一步:发送 HTTP 请求
-
添加一个 线程组
-
添加一个 HTTP 请求,请求登录接口
-
添加一个 查看结果树(View Results Tree),确认响应中包含 token 字段
第二步:添加正则表达式提取器
在该 HTTP 请求下:
-
右键 →
Add
→Post Processors
→Regular Expression Extractor
-
配置如下:
配置项 | 示例值 |
---|---|
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 请求中,比如添加一个请求头:
-
添加
HTTP Header Manager
-
设置 token 头部参数:
名称 | 值 |
---|---|
token | ${token} |
这时就会自动带上登录返回的 token 值。
✅ 正则表达式说明
正则语法:"token"\s*:\s*"(.+?)"
-
"token"
:匹配 token 字段名 -
\s*:\s*
:匹配冒号前后的空格 -
"(.+?)"
:非贪婪匹配引号内的 token 值,并放入第 1 个捕获组
✅ 调试技巧
-
在“查看结果树”中切换到 Debug Sampler,打印变量值
-
若变量未提取成功,优先检查正则表达式是否匹配成功
-
你也可以用
NOT_FOUND
作为默认值,观察是否为提取失败
✅ 总结
项目 | 说明 |
---|---|
适用工具 | 正则表达式提取器(Regular Expression Extractor) |
场景 | 响应体中提取字段值(如 token) |
使用方法 | 设置变量名、正则表达式、模板 |
后续引用方式 | ${变量名} 形式 |
虽然 JMeter 提供了更强大的 JSON 提取器,但掌握正则表达式提取器依然非常有用,尤其在非标准格式响应或兼容旧版本时更灵活。