计算响应数据中字符串出现次数

时间:2016-09-19 12:47:50

标签: jmeter

我想从jmeter中的响应中搜索字符串,并根据我想要使用if控制器来运行下一个请求来计算出现的次数。我被困在计算出现次数的代码

1 个答案:

答案 0 :(得分:6)

您可以通过至少两种方式实现:

  1. 使用Regular Expression Extractor

    • 将正则表达式提取器添加为请求的子级。
    • 按如下方式配置:

      • 参考名称:任何有意义的内容,即count
      • 正则表达式:您想要计算的字符串,即JMeter
      • 模板:$1$
      • 匹配号码:-1

    匹配数量将存储在${count_matchNr} JMeter变量

    Count Matches Regex

  2. 使用Beanshell PostProcessor

    • 将Beanshell PostProcessor作为请求的子项添加
    • 将以下代码放入PostProcessor"脚本"区域

      import org.apache.commons.lang.StringUtils;
      
      String response = new String(data);
      int count = StringUtils.countMatches(response, "JMeter");
      
      log.info("Found " + count + " \"JMeter\" words at the " + prev.getUrlAsString() + " URL");
      vars.put("count", String.valueOf(count));
      

    您可以将匹配计数称为${count} JMeter变量

    Count matches - Beanshell

  3. 参考文献: