Jmeter必备-正则表达式

前言:

正则表达式在Jmeter的用处非常广,包括常用的正则表达式提取器,还有其它一些函数或者配置元件之类的。


元字符 意义 限定符 意义
. 任意单个字符 + 匹配至少大于1次
\d 任意单个数字 ? 匹配0次或1次
[0-9] 等价0-9 * 匹配0次或多次 贪婪匹配
[a-zA-Z] 等价所有的大小写字母 {n,}、{n,m}、{n} 匹配限定次数

举个例子
一般用法:元字符+限定符
匹配手机号:13800138001
写法如:\d{11},\d+,[0-9]{11},.{11} 等
可以搜索 在线正则表达式 网站查看匹配结果

正则表达式提取器

如果想在某个请求的响应结果里面拿到某个值,那么我们就可以使用正则表达式提取器。

操作步骤(提取uid)
响应结果:{"uid":20450674,"mail":"","areaCode":"+86","mobile":"13800138001","sid":"6395efe4e4ae2a746f7d495f5dd5d38c"}
1、确定接口的左右边界
2、写正则表达式:"uid":(\d*),
3、添加Debug Sampler(调试取样器)查看正则表达式提取是否正确

以登录接口为例子,找到正则表达式提取器的位置

Debug Sampler(调试取样器)
① 先跑一个正则表达式
说两句:
1、模板,选择第一个匹配的字段,填$1$,用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给id。如:$1$表示解析到的第1个值;
2、匹配数字,0代表随机取值,-1表示全部,1第一个,2第二个;
3、缺省值如果参数没有取得到值,那默认给一个值让它取。可填可不填,看具体使用场景。
成功提取 uid
② 如果要跑两个怎么做
步骤
1、这次增加一个 提取sid 的正则表达式提取器
2、模板改为 $2$,因为“1”被刚刚的uid占用了

成功提取uid和sid

后记:
正则表达式其实是一门很高深的学问,文中提到的符号不过是冰山一角,想要精通正则表达式,不管你我都需要多多学习才行哈~

你可能感兴趣的:(Jmeter必备-正则表达式)