Jmeter正则表达式的使用
1.什么情况下使用
断言
传参
2.怎么添加正则表达式
右键》后置处理器》正则表达式
3.正则表达式提取器说明
Apply to:应用范围
要检查的响应字段:样本数据源。
引用名称:其他地方引用时的变量名称,我这里写的signature,可自定义设置,引用方法:${引用名称}
正则表达式:数据提取器,()括号里为你要获取的的值。“signature”:" 相当于左边界,"相当于右边界。而括号里的值为正则表达式,用来匹配所需要获取的数据
模板:$$对应正则表达式提取器类型。-1全部,0 随机,1第一个2第二个,以此类推,若只有一个正则一般就填写 1 1 1
匹配数字:正则表达式匹配数据的所有结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。-1表示全部,0随机,1第一个,2第二个,以此类推。若只要获取到匹配的第一个值,则填写1
缺省值:匹配失败时的默认值。可以不写。若需用于后续逻辑判断,可简单写为 0。
4.案例1-仅一个可匹配的结果,也是最常用的一种
待匹配文本如下
模板: 1 1 1
匹配数字:1或者0都可以,因为只有一个值,不管取第一个还是随机取都一样
这里我需要取出signature的值,那么正则如下:
传参,调用方法——${signature}
5.案例2-多个待匹配结果
待匹配文本如下
这里我同样需要取出signature的值,而且是多个signature的值分别取出,此时signature可以当做一个数组的方式来取值,那么正则如下:
看出有什么区别了吗?
只有一个区别那就是【匹配数字】这里变成了“-1”
-1代表取所有的值
重点来了,我们看看怎么获取这里的多个signature在其他地方赋值?
其实很简单——————————————${signature_n}
6.多正则表达式
如图
此时模板才会变更为 1 1 1 2 2 2
记住:只有一个正则表达式时填: 1 1 1
两个正则表达式时填 1 1 1 2 2 2
n个正则表达式时填 1 1 1 2 2 2… n n n
调用方法
这里就有一丢丢区别了
${signature_gn}
7.附正则表达式调试方法
在需要调用的请求下面添加Debug-Sample
以上,本人亲测,如有问题欢迎占沙发