5.Jmeter-后置处理器(正则表达式)

后置处理器-正则表达式

概念:后置处理器,是对sampler运行后执行,对sampler返回的数据进行处理,以及提取;

1.一个参数提取

场景:例如我们做压力测试的时候,例如访问官网,首先,我们的得确定访问的官网地址是否正确,我们可以从sampler返回的数据中提取,然后再与真实的值做对比,如果正确的,说明是访问的是正确的;

步骤:

1. 访问www.baidu.com:根据访问的网址可以看到html<title><title>的内容。我们就根据http request,获取提取内容,最后打印出来;

 

2. Sampler-右击-后置处理器-正则表达式


(1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。

2)正则表达式:

():括起来的部分就是要提取的。

.:匹配任何字符串。

+:一次或多次。

?:在找到第一个匹配项后停止。

3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值

4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

5)缺省值:如果参数没有取得到值,那默认给一个值让它取,我填的Error

 

3.    我们打印出来,是否正确,创建一个beanshell assertion (beanshell后续介绍)print打印,再cmd窗口里打印出来,值其实也可以再debugsampler里查看;


3.2多个参数提取

1.正则表达式:多个参数中间,最好用,;等分开,

2.模板:$2$$1$ :我这边先获取参数的变量第二个参数,之后获取第一个参数,根据打印出来的结果,我们再取值,如果我

3.只取第二个参数变量:$2$

4.只取第一个参数变量:$1$

1.我们可以看到,我们需要的两个参数都打印出来了

2._g#: 打印出所有匹配的值,根据我们的需求,可以值 + _g0 )获取对应的值(详细可以自己根据 debugsampler 或者 cmd 窗口打印出来看结果,或者看帮助文档,也有解释)

猜你喜欢

转载自blog.csdn.net/wangtesting/article/details/80540317