后置处理器-正则表达式
概念:后置处理器,是对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 窗口打印出来看结果,或者看帮助文档,也有解释)