JMeter - 提取器
概念: 当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理
JMeter 中常用的关联方法:
- 正则表达式提取器
- XPath 提取器
- JSON 提取器
正则表达式知识储备:
案例,用正则表达式从以下文本中提取出,城市区号、地区号、个人号:
021-1324-4454
045-4564-4421
078-1234-7784
041-2222-6696
012-3333-8897
056-7891-1142
regex: (.*?)-(.*?)-(.*?)\n
.: 匹配除换行符(\n、\r)之外的任何单个字符
*:零次或多次
+:一次或多次
?:代表非贪婪匹配,可以匹配多组数据,找到第一组数据的右边界即停止,接招找下以一组的左边界
():匹配分组
正则表达式提取器
位置:HTTP请求 -> 添加 -> 后置处理器 -> 正则表达式处理器
正则表达式提取面板:
模板: 表示解析出一行数据的第几个()的值,结合上面的电话号码,$1$ 代表城市区号,$2$代表地区号码,$0 代表匹配到的整行数据
匹配数字:正则表达式匹配数据的结果可以看做一个数组,表示如何取值,0代表随机取值,正数n则表示取第n个值(比如1代表取第一个值),负数则表示提取所有符合条件的值
引用方法:${引用名称}
下面来一个案例:
需求:从上一个请求的响应中提取返回的第5个地址,并访问百度传参
正则表达式提取器:
成功取到第五个地址:
Debug 取样器的结果
发现${address_5} 和${address_5_g1} 的结果一样
因此在引用的时候用=${address_5_g1} 也是可以的
--TODO
当模板中有多个$$的情况
XPATH提取器
位置:HTTP请求 -> 添加 -> 后置处理器 -> XPATH提取器
面板如下:
- Use Tidy:
- 当需要处理的页面是HTML格式时,必须选中该选项
- 当需要处理的页面是XML或XHTML格式时,取消选中该选项
- XPath Query: 用于提取值的XPath表达式
- 匹配数字:当提取的值有多个时,0表示随机,-1表示所有结果,1表示第一个值
JSON 提取器
请求天气的接口:www.weather.com.cn/data/sk/101010100.html
位置和XPath提取器位置一样
Json Path expressions :可以在响应结果中测试下能否取到值:
当遇到的JSON数据中有列表时怎么提取?(索引从0开始)
本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/15744346.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!