正则表达式提取器作为jmeter中非常重要的组件,接口测试常用于上下接口的参数化,该提取器的一些高级使用会是我们的接口测试更加的高效和简洁。下面就介绍一下一些高级用法。
三个实例说明Jmeter中正则表达式提取器的高级使用
举例一:单模板单数据
定义说明:
引用名称:image表示变量名,不用多说
正则表达式:这里的一对括号就是一个模板,两对括号就是两个模板,…..
模板:这里要告诉Jmeter你要匹配哪个或哪些模板,$1$表示匹配第一个模板(就是正则表达式里的第一对括号)
匹配数字:告诉Jmeter如果匹配到了多个符合要求的,你要哪一个?这里我填写-1,表示获取全部匹配的数据
0表示随机
-1表示全部
1表示第一个
2表示第二个
……
缺省值:没有匹配到数据时的默认值,不用多说。
好了,正则表达式提取器的定义已经完成,下面看看如果使用:
使用说明:
由于我们在匹配数字里填写了-1,匹配到的是多个值,我们就可以通过
${变量名_坐标}的方式获取:
${image_1}表示第一个匹配到的
${image_2}表示第二个匹配到的
…..
举例二:多模板单数据
定义说明:
引用名称:label表示变量名,不用多说
正则表达式:这里的一对括号就是一个模板,两对括号就是两个模板,我们使用了两个模板
模板:这里要告诉Jmeter你要匹配哪个或哪些模板,$1$,$2$表示同时匹配第一个和第二个模板的数据
匹配数字:这里填写1,表示每个模板值获取第一个匹配的数据
缺省值:没有匹配到数据时的默认值,不用多说。
好了,正则表达式提取器的定义已经完成,下面看看如果使用:
使用说明:
由于我们使用了两个模板(两对括号),并且告诉Jmeter我们要获取每个模板匹配到的一个数据(匹配数字=1),所以通过下面的方式即可获得:
${label_g1}获取第一个模板匹配到的数据
${label_g2}获取第二个模板匹配到的数据
举例三:多模板多数据
这个例子是例1和例2的结合,使用多个模板,每个模板匹配多条数据。那么获取的方式是:
${list_1_g1}获取第一模板的第一个数据
${list_1_g2}获取第二模板的第一个数据
${list_2_g1}获取第一模板的第二个数据
${list_2_g2}获取第二模板的第二个数据