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

Par*_*tap 0 jmeter

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

Dmi*_*i T 7

您可以通过以下两种方式完成此操作:

  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));
      
      Run Code Online (Sandbox Code Playgroud)

    您将能够将匹配计数称为${count}JMeter变量

    计数匹配 -  Beanshell

参考文献: