JMeter-在成功重试时隐藏失败的请求



我用while循环生成重试逻辑。当响应代码不是200时,将重试。重试次数为3次,如果3次后仍然失败,则放弃。

但是,即使请求在重试后也是成功的。失败的请求确实显示在结果树和摘要报告中。

是否可以在报告中重试成功后不显示失败的请求。仅在重试3次但仍然失败时显示请求。

当前情况

请求:

请求(失败(->请求(失败(->请求(成功(

结果树:

请求(失败(

请求(失败(

请求(成功(

这是我想要的图像

请求:

请求(失败(->请求(失败(->请求(成功(

结果树:

请求(成功(

请求:

请求(失败(->请求(失败(->请求(失败(

结果树:

请求(失败(

  1. 将您的请求置于循环控制器下,并将循环数设为3

  2. 添加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响应SampleResult
    • ctx代表JMeterContext
    • 和JMeterVariables的CCD_ 3

关于这些JMeter API新手的更多信息:Groovy应该使用的前8个JMeter Java类

最新更新