jMeter中的倒数计时器

Count down timer in jMeter

我有一个包含三个部分的测试计划。每个部分必须 运行 5 分钟。我正在使用 while 循环来重复每个部分。但是我找不到一种方法来告诉 while 循环在 5 分钟后停止。 jmeter中有倒计时或类似的东西吗?

将每个部分放在Runtime Controller

在运行时字段中输入 300(60 秒 * 5)

Runtime Controller controls how long its children how long its children will run. Controller will run its children until configured Runtime(s) is exceeded.

如果必须是 While Controller

  1. 在 While 控制器前添加一个 JSR223 Sampler
  2. 将以下代码放入"Script"区域:

    SampleResult.setIgnore()
    vars.putObject('before', System.currentTimeMillis())
    
  3. 使用下面的__groovy() function作为While控制器的条件:

    ${__groovy(1 == 1 && (System.currentTimeMillis() - vars.getObject('before') < 300000),)}
    

    1 == 1 替换为您自己的表达式,当您的表达式变为 true 或 5 分钟过去时,它将退出循环,无论先到什么。

在上面的脚本中:

查看 Top 8 JMeter Java Classes You Should Be Using with Groovy guide for more details on above and other JMeter API shorthands available for JSR223 Elements 和 __groovy() 函数