测试员的那点事百人计划我爱编程

JMeter(九):后置处理器

2018-04-12  本文已影响43人  倔强的潇洒小姐

目录

JMeter(一):基础概念
JMeter(二):配置元件
JMeter(三):变量参数化
JMeter(四):监听器
JMeter(五):脚本录制
JMeter(六):断言
Jmeter(七):逻辑控制器
JMeter(八):定时器

后置处理器

后续操作的子件集合,对请求响应做一些处理,或者抓取响应数据,提取变量方便后续使用

场景:B测试需要使用A接口返回的数据,故需要对A接口的响应报文进行后置处理

比如一个登录接口,登录成功后有响应信息,响应里有特殊标志,如 IsSuccess=TrueMessage=登录成功,我们可以根据标志来判断,把标志打印出来或复制出来,此时就需要用到后置

1、JSON Extractor

路径:右击添加-->后置处理器-->JSON Extractor
作用:获取json格式的响应数据

演示案例:查看天气预报
1.1、添加HTTP请求,设置IP、方法、路径以及参数信息

查看天气预报.png

1.2、添加JSON Extractor

1.3、添加Debug PostProcessor
1.4、请求页面的注释,参数化,此处为${result}
1.5、添加查看结果树

image.png

延升:若要提取多个值,怎么处理?

解决办法:Variable names 、JSON Path expressions及Default Values这3个字段的数量一定要一致,中间用英文分号;分隔,其中Default Values的值可以根据需要设置

提取多个值.png

若取不到变量的值,它会根据Default Values定义的赋值为默认值,本次练习设的是0,也可以改成其他值

取不到值就赋值为默认值.png

有些Json数据里面还嵌套了列表,那么用 $.XX[n].XX表示,n=0表示取第一行,n=1表示取第二行,以此类推
(PS:数组的索引从0开始表示第一个)

Json数据里面还嵌套了列表.png
2、XPath Extractor

路径:右击添加-->后置处理器-->XPath Extractor
作用:获取xml格式的响应数据

XPath Extractor.png
3、正则表达式提取器(万能提取)

在测试过程中,许多接口的入参不是事先预知的,而是前一个接口的响应结果的某个字段(接口之间的依赖关系),这就需要用户能够动态的提取前一个接口的响应参数并传递出来。

如果用户需要将该字段提取出来作为下一个接口的入参,需要在该接口节点下添加一个“正则表达式提取器”

路径:右击添加-->后置处理器-->正则表达式提取器

比如提取页面上的申请单号438,看到DeBug的输出是正确的,如下:

正则表达式提取器.png

假如匹配数字填的是-1,通过${variablename_1}的方式来取第1个匹配的内容,${variablename_2}来取第2个匹配的内容

匹配数字为-1
PS:*和*?是不一样的,在上述的例子中使用正则<title>(.*?)</title>(懒惰模式)或者正则<title>(.*)</title>(贪婪模式)都是可行的

懒惰模式:也就是非贪婪模式,采用的是就近匹配原则,一旦找到结尾字符,就停止搜索
贪婪模式:找到一个结尾字符后,不会停止,直到找不到结尾字符为止,才会停止搜索


关于正则表达式,演示字符串:abcdcdcdefgphhhp345pythony_py

符号 含义 举例 输出
. 除换行符以外的任意字符 .python... 5pythonny_p
^ 边界限定,字符串的开始位置 ^abc abc
$ 边界限定 , 字符串的结束位置 py$ py
* 限定符, 0次、1次或多次前面的原子 py.*y pythony_py
? 限定符,0次、1次前面的原子,在找到第一个匹配项后停止 py.*?y pythony
+ 限定符,1次或多次前面的原子 py+n python
{n} 限定符,前面的原子刚好出现n次 ph{2} phh
{n,} 限定符,前面的原子至少出现n次 ph{2,} phhh
{n,m} 限定符, 前面的原子至少出现n次,至多出现m次 ph{1,2} phh
| 模式选择符,从中任选一个匹配 python|ph ph
() 模式单元符,将原子组合使用 (cd){1,} cdcdcd
4、CSS/JQuery Extractor

路径:右击添加-->后置处理器-->CSS/JQuery Extractor
只支持css,不支持JQuery

5、Debug PostProcessor

路径:右击添加-->后置处理器-->Debug PostProcessor

Debug PostProcessor.png

设置为True时可以打印相关信息,一般保持默认设置

作用:一般在需要获取响应数据(正则、XPath、JSON提取器)时添加,方便在调试脚本时实时查看是否正确的提取到了所要的信息,不过还得添加查看结果树,因为脚本执行以后需要到结果树中查看打印信息

Debug PostProcessor.png
上一篇 下一篇

猜你喜欢

热点阅读