暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

深入分析JMeter正则表达式提取器(一)

西安川石 2022-05-06
168


JMeter正则表达式提取器的配置项中,"Regular Expression","Template"与"Match No."这三个配置项是比较难以理解的,本文针对这三个配置项设置进行深入分析,以便大家能够游刃有余的使用其功能.


本章主要内容:

1

JMeter使用的正则表达式

2

正则表达式提取器中的Regular Expression

3

正则表达式提取器中的Template


川石课堂

JMeter接口测试免费学习



JMeter使用的正则表达式


JMeter包含模式匹配工具Apache Jakarta ORO,对应的jar包在JMeter安装目录下的lib\oro-2.0.8.jar.


Jakarta项目是在Apache软件基金会营运的开放源代码开发项目之一.开发着面向对象编程语言Java的程序库,框架等.其中的ORO是一组用于处理文本的Java类库,提供了与Perl5兼容的正则表达式功能.



正则表达式提取器中的Regular Expression


该配置项填写提取响应数据的正则表达式.


JMeter匹配文本时可以选择不分组捕获与分组捕获两种方式.



不分组捕获


当"Template"配置相中填写的是"$0$"时,"Regular Expression"配置项中可以没有(),表示不分组,返回整个匹配项.


如图所示:




分组捕获


当使用分组捕获时,"Regular Expression"配置项中则必须至少包含一组(),用以捕获一个或多个字符串.


一组()称为一个捕获组,并且捕获组可以嵌套.


每个捕获组都有一个编号与之对应,以方便引用捕获组匹配的内容.若有多个捕获组,编号规则为:


按照"("从左至右出现的先后顺序,从1开始依次递增进行编号: 1,2,3, ... ,n还有一个额外编号为0的捕获组,用于表示匹配到的整个正则表达式字符串.


比如:


正则表达式:((\d{4})-(\d{2})-(\d{2}))\s((\d{2}):(\d{2}):(\d{2}))


捕获组编号:1 2 3 4 5 6 7 8


响应文本:Today is 2019-06-25 14:29:30,Tuesday


匹配后各捕获组对应的内容如下:


g1:2019-06-25

g2:2019

g3:06

g4:25

g5:14:29:30

g6:14

g7:29

g8:30

g0:2019-06-25 14:29:30




正则表达式提取器中的Template


"Template"用以设置捕获到的字符串以怎样的格式保存到JMeter变量中.可以原样保存,也可以格式化保存,下面讨论这两种情况.



原样保存捕获组字符串


在此项中,可以用$1$表示引用捕获组1中的内容,$2$表示引用捕获组2中的内容, ... ,$n$表示引用捕获组n中的内容,$0$表示引用正则表达式匹配后的整个字符串.




格式化保存捕获组字符串

除了使用$n$引用捕获组的内容外,还可以加入需要的字符,将匹配的内容按照某种格式保存.





下个工作日小编会更新下一章节的内容,希望大家多多关注我们,一起来学习喔!涨薪小技能√


温馨提示:添加老师微信【13691729932】可以获取全套软件测试自学资料!



 往期回顾 


JMeter如何关联之正则表达式提取器



大神邀你加入

软件测试群

免费软件测试课

川石课堂



文章转载自西安川石,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论