【问题标题】:Jmeter : using While Controller for failed request retries, ThreadGroup loop count not workingJmeter:使用 While Controller 进行失败的请求重试,ThreadGroup 循环计数不起作用
【发布时间】:2020-05-14 08:29:44
【问题描述】:

我添加了一个 While 控制器并尝试多次发送此请求,以防它第一次不起作用或只是尝试实现重试逻辑。

线程组配置为:

  1. 线程(用户) - 1
  2. 循环 - 10

问题:根据线程组配置,它应该运行(while controller * 10)但它只运行 1 次。

在我的 Bean 后处理器中:

vars.remove("response_code");
vars.put("response_code",prev.getResponseCode());

在 WhileController 中:

${__jexl3(${response_code} != 200 && ${retries} < 3,)}

任何帮助将不胜感激!

【问题讨论】:

    标签: java jmeter load-testing jmeter-5.0


    【解决方案1】:

    在线程组的第二次迭代中,${response_code} 变量变为200,因此它不会进入 While 循环。

    解决方案是将${response_code}${retries} 变量都重置为0

    1. 添加JSR223 Sampler 成为线程组中的第一个采样器
    2. 将以下代码放入“脚本”区域:

      SampleResult.setIgnore()
      vars.put('response_code', '0')
      vars.put('retries', '0')   
      

    还要注意 starting from JMeter 3.1 you shouldn't be using Beanshell,因此请考虑从 Beanshell 后处理器迁移到 JSR223 PostProcessor。更多信息:Apache Groovy - Why and How You Should Use It

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-12
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多