我用while循环生成重试逻辑。当响应代码不是200时,将重试。重试次数为3次,如果3次后仍然失败,则放弃。
但是,即使请求在重试后也是成功的。失败的请求确实显示在结果树和摘要报告中。
是否可以在报告中重试成功后不显示失败的请求。仅在重试3次但仍然失败时显示请求。
当前情况
请求:
请求(失败(->请求(失败(->请求(成功(
结果树:
请求(失败(
请求(失败(
请求(成功(
这是我想要的图像
请求:
请求(失败(->请求(失败(->请求(成功(
结果树:
请求(成功(
请求:
请求(失败(->请求(失败(->请求(失败(
结果树:
请求(失败(
-
将您的请求置于循环控制器下,并将循环数设为3
-
添加JSR223PostProcessor作为您请求的子级,并将以下代码放入";脚本"区域
if (prev.getResponseCode() == '200') { ctx.setTestLogicalAction(ctx.TestLogicalAction.BREAK_CURRENT_LOOP) } else { if (vars.get('__jm__Loop Controller__idx') as int < 2) { prev.setIgnore() } }
其中:
prev
代表previous响应SampleResultctx
代表JMeterContext- 和JMeterVariables的CCD_ 3
关于这些JMeter API新手的更多信息:Groovy应该使用的前8个JMeter Java类