Jmeter-获取响应结果中参数出现的次数

在测试中,有时候会遇到要统计响应结果中某个参数出现了多少次,来验证响应结果是否正确,首先是获取响应结果,然后用beanshell正则计算。获取响应结果有2种方式,一是使用pre变量在beanshell中获取响应信息,二是使用正则表达式提取器;下面是使用了第二种方式:

例如我的响应信息为:{"ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1","ip":"1.1.1.1",}

现在请求上创建正则表达式提取器,把响应信息全部提取到变量中如下面的截图:

 

然后创建一个beanshell后置处理器,脚本如下:

 1 import java.util.regex.Matcher;
 2 import java.util.regex.Pattern;
 3 
 4 ip = vars.get("ip");
 5 subs = "\"ip\"";
 6 Pattern pattern = Pattern.compile(subs);  
 7 Matcher matcher = pattern.matcher(ip);  
 8 int count=0;  
 9 while(matcher.find()){  
10     count++;  
11 }  
12 System.out.println(count);

执行Jmeter,控制台就打印出数值了

 

posted @ 2016-10-21 18:39  弘文馆校书  阅读(2033)  评论(0编辑  收藏  举报