如何根据响应代码处理jmeter的延迟

时间:2015-07-10 13:53:35

标签: timer jmeter beanshell

我的要求是每当Jmeter执行出错时,在开始下一次迭代之前应该有一个延迟。

"启动下一个线程循环"在线程组级别选择Sampler错误。因此,如果执行期间出现任何错误,Jmeter将启动新的迭代。

为此,我在迭代开始时使用了Beanshell Timer。如果响应代码不是" 200"

,则会添加以下代码以延迟
String code = prev.getResponseCode();
if(code!="200"){
log.info("::::::::::::::::::::::::::::Response Code = "+code);
log.info("sleep for 10sec");
 return 10000;
}
else
 return 0;

如果有更好的方法,请告诉我。

我相信prev.getResponseCode()也可用于执行任何类型的清理任务,以防出现任何错误。

例如,如果用户登录应用程序并在注销之前出错。我们可以在迭代开始时测试前一个响应代码是否出错,如果是,我们可以让用户注销该应用程序。

1 个答案:

答案 0 :(得分:1)

您可以使用以下方式执行此操作:

  

$ {__ jexl2(“$ {JMeterThread.last_sample_ok}”==“false”,)}

enter image description here

enter image description here

测试计划将具有以下布局:

enter image description here