也许我在导航JMeter API site时非常糟糕。
但是让我说我想知道一个线程运行了多长时间,在If Controller或JSR223采样器中我该怎么做?例如thread group似乎没有我想要的东西
答案 0 :(得分:3)
也许,转而考虑JMeterThread JavaDoc。如果您使用Thread Group的“计划程序”选项,则可以使用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 - Why and How You Should Use It文章。
答案 1 :(得分:0)
您可以在交易控制器
下添加测试然后在Sampler结果中,您可以看到加载时间:2771,请参阅Manual
注意:当复选框“包括计时器和预发布的持续时间 检查生成的样本中的处理器,时间包括所有 在控制器范围内处理,而不仅仅是样本。