jmeter (三):正则表达式提取器使用详解

jmeter自带后置处理器:正则表达式提取器,可以用来提取接口响应里的信息,给予后续接口传参用。

正则表达式语法:

格式 含义
\d    数字
\w   数字或者字母
. 可以匹配任意字符
星号* 表示任意个字符
+ 表示至少一个字符
? 表示0或者1个字符
{n} 表示n个字符
{n,m} 表示n-m个字符
\s 表示空白符
括号[] 表示范围,比如:
[0-9a-zA-Z\_] 可以匹配一个数字、字母或者下划线
[0-9a-zA-Z\_]  可以匹配一个数字、字母或者下划线
^    表示行的开头,^\d表示必须以数字开头
$ 表示行的结束,\d$表示必须以数字结束
A|B 可以匹配A或B,如(P|p)ython可以匹配'Python'或者'python
() 表示的就是要提取的分组(Group),如
m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')

jmeter 中正则表达式提取界面:

jmeter (三):正则表达式提取器使用详解_第1张图片

各参数值的含义 :

参数 释义
引用名称 在HTTP等请求中,引用此数据,需要用到的名称
正则表达式 用于将需要的数据提取出来
模板 表示正则表达式中的第几个提取值:
$-1$(负数):表示取所有值
$0$:表示随机取值
$1$:表示取第1个
$2$:表示取第二个
$1$$2$: 表示第一个和第二个拼接起来
以此类推:$n$:表示取第n个
 
匹配数字(0代表随机) 0 代表随机取值,1 代表取第1个值,-1(负数)表示取全部值
缺省值 默认值, 即没有匹配到值时的默认值

实际操作:

第一种设置方式:

jmeter (三):正则表达式提取器使用详解_第2张图片

jmeter (三):正则表达式提取器使用详解_第3张图片

 此时, ${tagId}表示取的是第一列的值, 第一列是由模板上的$1$确定的。

第二种设置方式:

jmeter (三):正则表达式提取器使用详解_第4张图片

 

jmeter (三):正则表达式提取器使用详解_第5张图片

${tagId_1}取的是第一个匹配值的第一列第一行的数据, ${tagId_1_g0}取的都是第一个匹配值的第一列全部的数据 ,

${tagId_2}取的是第一个匹配值的第一列第一行的数据, ${tagId_3}取的是第三个匹配值的第一列第一行的数据,


第三种设置方式:

jmeter (三):正则表达式提取器使用详解_第6张图片

jmeter (三):正则表达式提取器使用详解_第7张图片

 ${tagId_1_g0}取的都是第一个匹配值的第一列全部的数据 ,${tagId_1_g1}取的是第一个匹配值的第一列第一行的数据, 
 ${tagId_2_g1}取的是第二个匹配值的第一列第一行的数据。

 

参考文章:https://blog.csdn.net/darkmanno5/article/details/80428275

你可能感兴趣的:(jmeter,正则表达式提取)