控制器带有计数器和正则表达式提取器,适用于多个用户

时间:2018-02-19 16:08:55

标签: jmeter

有一个SOAP请求,它在响应中提供总页数,并且此请求需要发送与总页数一样多的次数,并将页码保持为变量。在负载测试期间,计数器/ while控制器工作不正常。一旦找到一个客户的匹配,计数器就会停止。但我的要求是同时遍历所有客户的所有页面。有人可以帮忙吗?

I.Threadgroup - 有10个主题     A.While Controller $ {__ javaScript($ {pagenum}< $ {totalpages})}       1.Request         i.Regex提取器(totalpages)         ii.Counter(页次)         III。 CSV数据集配置(客户) enter image description here

1 个答案:

答案 0 :(得分:0)

复制Test_${customer}采样器并将其粘贴在while控制器之前,现在你有两个,从中删除计数器。< / p>

BeanShell PostProcessor添加到第一个采样器(不在while控制器中)并将以下代码添加到代码区域中:

int Counter = 1;
vars.put("Counter", String.valueOf(Counter));

现在从第二个采样器(位于while控制器内)中删除正则表达式提取器,并将带有以​​下代码的 BeanShell PostProcessor 添加到代码区域中:

int Counter = Integer.parseInt(vars.get("Counter"));
Counter = Counter + 1;
vars.put("Counter", String.valueOf(Counter));