02、Jmeter正则表达式提取器

时间:2023-11-23 11:11:50

转载自:http://blog.csdn.net/quiet_girl/article/details/50724313

在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调用。

文中使用的正则表达式测试器(RegexTester)下载地址:http://soft.hao123.com/soft/appid/54251.html

一、首先来介绍一下J meter中正则表达式提取器的元素组成,下图所示:

02、Jmeter正则表达式提取器

下面是各参数值的含义:

参数 释义
引用名称 在HTTP等请求中,引用此数据,需要用到的名称
正则表达式

用于解析响应数据的正则表达式,其中必须包含至少一个圆括号集“()”;

此处的()即使配合下面的模板进行数值提取使用

模板 表示使用提取到的第几个值:
$0$:表示引用整个表达式的匹配
$1$:表示取第1个
$2$:表示取第二个
以此类推:$n$:表示取第n个
匹配数字(0代表随机)

0 代表随机取值,一个正整数n意味着选择第几次匹配。

缺省值 如果正则表达式没有搜找到值,则使用此缺省值

二、下面是第一个比较简单的例子,就是正则表达式的匹配值只有一个取值,正则表达式测试如图:

02、Jmeter正则表达式提取器

这种最简单的情况在Jmeter正则表达式提取器和HTTP请求中的设置如下:

02、Jmeter正则表达式提取器

三、下面的例子是正则表达式的匹配值有两个取值,正则表达式测试如图:

02、Jmeter正则表达式提取器

这种情况在Jmeter正则表达式提取器和HTTP请求中的设置如下:

02、Jmeter正则表达式提取器

四、一种不是很常见的情况是有若干个匹配数据,使用正则表达式测试器测试的结果如下:

02、Jmeter正则表达式提取器

若希望取到17这个值,则对应的是第二列第二行($2$, ${javawd_g2}),如果是第三列第四行的数据,则对应的是($3$,${javawd_g4})

这种情况在Jmeter正则表达式提取器和HTTP请求中的设置如下:

02、Jmeter正则表达式提取器

其实上诉的这种方式完全可以通过改变Jmeter匹配数字来进行提取:

02、Jmeter正则表达式提取器