Jmeter之正则表达式提取器应用

Posted tudou-22

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter之正则表达式提取器应用相关的知识,希望对你有一定的参考价值。

说到Jmeter正则表达式提取器的应用,就不得不说到关联。所谓关联,就是把应用中动态变化返回的数据获取到,把它保存为一个参数,提供给后面需要用到的地方进行使用。

Jmeter中关联是通过“添加—后置处理器—正则表达式提取器”来获取数据,且注意正则表达式提取器附在需要获取数据的某个采样器之下,数据一般从“查看结果树“的响应数据获取。

 

一、获取单个数据

举例:获取用户列表的结果如下,需要将"mobilephone":"158****1763" 手机号码取出用来进行登录操作

 技术分享图片

1、在获取用户列表请求下面添加—后置处理器—正则表达式提取器

技术分享图片

正则表达式提取器说明:

Apply to:应用范围

要检查的响应字段:样本数据源。

引用名称:其他地方引用时的变量名称,我这里写的phone,可自定义设置,引用方法:${引用名称}

正则表达式:数据提取器,()括号里为你要获取的的值。"mobilephone":"( 相当于LR左边界, )","leaveamount"相当于LR右边界。而括号里d+为正则表达式,用来匹配所需要获取的数据,何谓正则表达式文章末尾会附上说明

模板:$$对应正则表达式提取器类型。-1全部,0 随机,1第一个2第二个,以此类推,若只有一个正则一般就填写$1$

匹配数字:正则表达式匹配数据的所有结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。-1表示全部,0随机,1第一个,2第二个,以此类推。若只要获取到匹配的第一个值,则填写1

缺省值:匹配失败时的默认值。可以不写。若需用于后续逻辑判断,可简单写为 ERROR。

 

2、在获取用户列表添加的 Debug PostProcessor 为调试所用,一般用于查看获取的变量值。

从执行结果中,能看到获取的值为如下:

技术分享图片

3、在登录请求中,将正则表达式获取的值进行引用。

技术分享图片

技术分享图片

 

 

二、获取多个数据

举例:在用户列表的结果中,需要将"id":82,"mobilephone":"150****7414", 用户id、手机号码都取出用来进行后续登录、投资操作

1、注意如果包含多个正则,我们进行如下设置

 技术分享图片

其中,我们可以通过 Debug PostProcessor 来查看结果

技术分享图片

从结果中,如果我们要引用id、mobilephone的话,也就是这里user_g1、user_g4分别指代的值。

2、注意变量值在登录、投资请求中的引用!

 技术分享图片技术分享图片技术分享图片

 

附正则表达式说明:

 技术分享图片技术分享图片

通俗点来讲正则表达式就是用来匹配字符串的公式。比如正则表达式中d+ 是来匹配1个或更多连续的数字。更多可自行百度了解。

 

~~有任何问题欢迎留言,也欢迎加右上角群号交流~~

以上是关于Jmeter之正则表达式提取器应用的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter之正则表达式提取器(十四)

Jmeter之正则表达式提取获取数组类型数据

Jmeter(三)关联之正则表达式提取器

jmeter之上下文传递(正则表达式)

jmeter-正则表达式提取器

将RegEx(正则表达式提取器)与JMeter一起使用