通过三个例子记录下来正则表达式提取器的高级用法。一来作为自己的备忘,二来也分享出来,供那些需要用到这些功能的朋友参考。

举例一:单模板单数据

 Jmeter-正则提取器_模板匹配

定义说明:

引用名称:image表示变量名,不用多说

正则表达式:这里的一对括号就是一个模板,两对括号就是两个模板,…..

模板:这里要告诉Jmeter你要匹配哪个或哪些模板,$1$表示匹配第一个模板(就是正则表达式里的第一对括号)

匹配数字:告诉Jmeter如果匹配到了多个符合要求的,你要哪一个?这里我填写-1,表示获取全部匹配的数据

  • 0表示随机
  • -1表示全部
  • 1表示第一个
  • 2表示第二个
  • ……

缺省值:没有匹配到数据时的默认值,不用多说。

好了,正则表达式提取器的定义已经完成,下面看看如果使用:

使用说明:

由于我们在匹配数字里填写了-1,匹配到的是多个值,我们就可以通过${变量名_坐标}的方式获取:

  • ${image_1}表示第一个匹配到的
  • ${image_2}表示第二个匹配到的
  • …..


举例二:多模板单数据

Jmeter-正则提取器_模板匹配_02

定义说明:

引用名称:label表示变量名,不用多说

正则表达式:这里的一对括号就是一个模板,两对括号就是两个模板,我们使用了两个模板

模板:这里要告诉Jmeter你要匹配哪个或哪些模板,$1$,$2$表示同时匹配第一个和第二个模板的数据

匹配数字:这里填写1,表示每个模板值获取第一个匹配的数据

缺省值:没有匹配到数据时的默认值,不用多说。

好了,正则表达式提取器的定义已经完成,下面看看如果使用:

使用说明:

由于我们使用了两个模板(两对括号),并且告诉Jmeter我们要获取每个模板匹配到的一个数据(匹配数字=1),所以通过下面的方式即可获得:

  • ${globalOrderNo_g1}获取第一个模板匹配到的数据
  • ${globalOrderNo_g2}获取第二个模板匹配到的数据

Jmeter-正则提取器_模板匹配_03



举例三:多模板多数据

Jmeter-正则提取器_使用说明_04

这个例子是例1和例2的结合,使用多个模板,每个模板匹配多条数据。那么获取的方式是:

  • ${list_1_g1}获取第一模板的第一个数据 ${list_1_g2}获取第二模板的第一个数据
  • ${list_2_g1}**第一模板的第二个数据 ${list_2_g2}**第二模板的第二个数据