计算jmeter中正则表达式提取器返回的值的数量

时间:2015-06-12 18:47:55

标签: regex jmeter

如何计算jmeter提取器返回的样本/值的数量。

我正在使用正则表达式来获取使用正则表达式提取器的变量链接列表。 通过debug sampler显示返回了许多值。直到像9_g1

PlanLinksArray_9_g=1
PlanLinksArray_9_g0=/hix/admin/planmgmt/viewqhpdetail/gLe8eM5psNUTqo8aYXo20w
PlanLinksArray_9_g1=/hix/admin/planmgmt/viewqhpdetail/gLe8eM5psNUTqo8aYXo20w

如何在Jmeter中将其计数到变量?

2 个答案:

答案 0 :(得分:0)

AS per:

将被称为:

  

PlanLinksArray_9_matchNr:找到的匹配数量;可能是0

答案 1 :(得分:0)

您可以将提取的变量计为${PlanLinksArray_matchNr},它将保存变量的数量,如:

PlanLinksArray_1
PlanLinksArray_2
PlanLinksArray_3
etc.

如果您还需要包含匹配组,例如

PlanLinksArray_1_g
PlanLinksArray_1_g0
PlanLinksArray_1_g1
etc.

你必须做一些脚本。

  1. 在正则表达式提取器后添加Beanshell PostProcessor
  2. 将以下代码放入PostProcessor"脚本"区域

    JMeterVariables vars = new JMeterVariables();
    Iterator iterator = vars.getIterator();
    int counter = 0;
    while (iterator.hasNext()) {
        Map.Entry e = (Map.Entry) iterator.next();
        if (e.getKey().startsWith("PlanLinksArray")) {
            counter++;
        }
    }
    
    vars.put("extractedValues", String.valueOf(counter));
    
  3. 名称以&#34开头的变量数量; PlanLinksArray"将以${extractedValues}变量
  4. 的形式提供

    有关更多Beanshell提示和技巧,请参阅How to use BeanShell: JMeter's favorite built-in component指南。