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

 在测试中,有时候会遇到要统计响应结果中某个参数出现了多少次,如果量级很大,一个一个数不太现实,下面讲一下实现自动打印出该参数出现的次数的方法。

  例如我的响应信息为:{"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,控制台就打印出数值了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,您可以在JMeter使用以下步骤来提取所有状态为2的id: 1. 添加一个HTTP请求,用于获取包含所有数据的响应。 2. 添加一个正则表达式提取器(Post Processor),用于从响应提取状态为2的id。在正则表达式提取器,您需要设置相应的正则表达式和模板来提取符合条件的id。 3. 添加一个循环控制器,用于循环提取所有符合条件的id。 4. 在循环控制器添加一个HTTP请求,用于获取每个符合条件的id的详细信息。 具体步骤如下: 1. 添加一个HTTP请求,用于获取包含所有数据的响应。 在JMeter添加一个HTTP请求,设置请求的URL、方法和参数等信息,用于获取包含所有数据的响应。您可以在该请求下方的“响应数据”查看响应内容,确保响应包含状态和id信息。 2. 添加一个正则表达式提取器(Post Processor),用于从响应提取状态为2的id。 在HTTP请求下方添加一个正则表达式提取器(Post Processor),设置提取器的名称、正则表达式和模板等信息。正则表达式用于匹配符合条件的id,模板用于指定提取的匹配组。例如,如果响应包含以下内容: ``` {"data":[{"id":1,"status":1},{"id":2,"status":2},{"id":3,"status":2}]} ``` 则您可以使用以下正则表达式和模板来提取状态为2的id: 正则表达式:`"id":(\d+),"status":2` 模板:`$1$` 3. 添加一个循环控制器,用于循环提取所有符合条件的id。 在正则表达式提取器下方添加一个循环控制器,设置循环次数为`${__V(TotalMatched)}`。`${__V(TotalMatched)}`表示提取器匹配到的符合条件的id的数量,即循环次数。循环控制器的HTTP请求将会在每次循环执行一次,以获取每个符合条件的id的详细信息。 4. 在循环控制器添加一个HTTP请求,用于获取每个符合条件的id的详细信息。 在循环控制器添加一个HTTP请求,设置请求的URL、方法和参数等信息。在请求的参数,您可以使用`${__V(id_${__jm__LoopController__idx})}`来获取当前循环提取的id。`${__jm__LoopController__idx}`表示当前循环的索引,即从0开始的循环次数。`${__V(id_${__jm__LoopController__idx})}`会自动替换为当前循环提取的id,以便请求具体的数据。 通过以上步骤,您就可以提取所有状态为2的id,并获取每个id的详细信息。希望这能帮到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值