JMeter Groovy在条件下重新执行X次采样器

时间:2017-11-13 07:38:14

标签: groovy jmeter jsr223 retry-logic

我想重新执行一次Sampler 5次或直到某个变量的值为“true”,Groovy中是否有任何方法或者我是否必须在JMeter中执行某些操作?

2 个答案:

答案 0 :(得分:2)

添加JSR223 PostProcessor作为Sampler的PostProcessor,以便在变量条件为真的情况下重试Sampler

同时更新并检查retryCount:

if (vars.getObject("retryCount") < 5 && "true".equals(vars.get("condition"))) {
   retryCountNow = vars.getObject("retryCount") + 1;
   vars.putObject("retryCount", retryCountNow);
   ctx.getCurrentSampler().sample(null);
}

retryCount可以插入请求的JSR223 PreProcessor中:

vars.putObject("retryCount",0);

答案 1 :(得分:1)

只需使用While Controller,条件为

${__javaScript(("${certain variable}" != "true" && ${counter} < 5),)}

counterCounter测试元素的引用名称。

将您想要重新执行的请求作为While Controller的子项重新执行,这将是您正在寻找的内容