通过groovy脚本进行JMeter吞吐量整形



我有测试计划,其中包括线程组,在线程组中嵌套了两个采样器:1-虚拟采样器,2-JSR223采样器。

在测试计划中,我声明了值为-15的变量pacing_seconds。在线程组中,循环值为20。我需要在JSR223 Sampler中编写groovy脚本,它应该会给我4/min的结果。

我是新手,我真的需要的帮助

将虚拟采样器限制为每分钟4个请求的更简单方法是使用恒定吞吐量定时器或精确吞吐量定时器或吞吐量整形定时器,根据您未来的需求选择一个。

如果你想要LoadRunner的Pacing,那么在Groovy中你需要做的就是:

  • 获取Dummy Sampler执行时间(可以使用ctx.getPreviousResult().getTime()函数来完成,其中ctx代表JMeterContext(
  • pacing_seconds变量中减去此时间
  • 为"三角洲"睡眠

示例代码:

def pacing = ((vars.get('pacing_seconds') as int) * 1000) - ctx.getPreviousResult().getTime()
if (pacing > 0) {
def iPacing = pacing != null ? pacing.intValue() : null
log.info('About to sleep for ' + iPacing)
Thread.sleep(iPacing)
}

更多信息:如何在JMeter 中轻松实现起搏

最新更新