有时候在性能测试的时候,需要统计请求中响应某个字段的参数次数,但是jmeter自带的聚合报告只有整个请求的次数,如果一个请求里面,可能有多个不同的响应回来,例如一个获取配置请求中,会响应两个sbc的地址,需要统计分别每个地址返回了多少次,可以通过在脚本调试时添加beanshell取样器,然后在beanshell取样器的名称中填写正则表达式提取出来的引用名称。统计结果如下:
步骤方法
- 先调通接口,保证请求能正确响应。
- 在请求中添加正则表达式,获取需要统计的参数值,匹配数字为-1,即提取所有符合正则表达式(调试的时候建议使用调试取样器,保证提取出来的值是正确的,一般会有“引用名称_1”,“引用名称_2”,“引用名称_3”这样的字段)。
- 根据一个请求响应中会返回多少次参数来添加beanshell提取器,例如一个获取配置的响应中,会返回两个sbc地址,通过正则表达式,一般是返回sbc_1和sbc_2。就添加两个beanshell提取器,分别在名称处填写${sbc_1}和${sbc_2}
注意:jmeter中,很多地方都可以引用参数的,例如姓名,注释,ip地址,端口等等,我们就是利用这种特点来统计。 - 调试好脚本后,可以加大线程数来跑脚本,这样在聚合报告中,就会返回对应响应参数的次数。