如何如何使用Ultimate或步进线程组结合while控制器在JMeter中实现调步

8wtpewkr  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(121)

我尝试在我的JMeter脚本中实现类似于LR的步调
左心室起搏LR Pacing
JMeter场景我正在使用Stepping线程组和while控制器Jmeter script对于调步,我正在使用流控制操作和BeanShell计时器Pacing details

ubby3x7f

ubby3x7f1#

1.您的Beanshell代码失败的可能性最大:

请查看jmeter.log文件,看看失败的原因是什么
1.从JMeter3.1开始,您应该使用JSR 223测试元素和Groovy语言来编写脚本。

  • 使用LoadRunner设置,您需要测量迭代持续时间。因此,您需要记录迭代开始的时间。可以通过将JSR 223预处理器添加到线程组(或其他迭代源)中的第一个请求的子项中,并将以下代码放入其中来完成此操作:
vars.putObject('start', System.currentTimeMillis())

那么在线程组(或其他迭代源)的末尾,您需要添加一个具有以下逻辑的JSR 223计时器:

  • 获取当前时间
  • 将其与迭代开始时间进行比较
  • 如果迭代花费了850秒或更长时间-返回0
  • 如果迭代花费的时间少于850秒-返回850秒和迭代持续时间之间的增量

示例代码:

def start = vars.getObject('start') as long
 def end = System.currentTimeMillis()

 def iterationDuration = end - start

 if (iterationDuration >= 850000) {
     return 0
 } else {
     return 850000 - iterationDuration
 }

还要注意的是,在JMeter中,有一些更好的选项来控制请求的数量,比如Constant Throughput Timer

相关问题