获取jMeter线程已运行的时间
问题内容:
也许我在浏览JMeter API 网站方面真的很不好。
但是可以说,我想找出一个线程已经运行了多长时间,在If
Controller或JSR223采样器中,我该怎么做?例如,线程组似乎没有我要找的东西
问题答案:
也许,改为研究JMeterThread
JavaDoc
。如果使用线程组的
“
Scheduler”选项,则可以使用JMeterThread.getStartTime()和JMeterThread.getEndTime()方法。
如果不使用调度程序,则可以使用以下方法:
-
将JSR223测试元素(与哪个元素无关紧要)添加到线程组的最开始,并将以下代码放入“脚本”区域:
ctx.getThread().setStartTime(System.currentTimeMillis())
-
在线程组的末尾添加另一个JSR223测试元素,并使用以下代码获取当前线程持续时间:
long started = ctx.getThread().getStartTime()
log.info(‘Thread duration: ‘ + (System.currentTimeMillis() - started))
演示:
ctx
是JMeterContextService类的简写。
有关在JMeter测试中使用Groovy的更多详细信息,请参见Apache Groovy-
为什么和应该如何使用它。