我的要求是每当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()也可用于执行任何类型的清理任务,以防出现任何错误。
例如,如果用户登录应用程序并在注销之前出错。我们可以在迭代开始时测试前一个响应代码是否出错,如果是,我们可以让用户注销该应用程序。
答案 0 :(得分:1)
您可以使用以下方式执行此操作:
$ {__ jexl2(“$ {JMeterThread.last_sample_ok}”==“false”,)}
测试计划将具有以下布局: