如何运行应在指定时间内完成或应在规定时间内终止的JMeter测试计划?请告诉我这个问题。

#1 楼

在测试计划级别上是不可能的,但是有以下可用选项:


Duration (seconds)设置为每个线程组所需的值

使用测试操作计时器以停止所有线程(例如,创建一个单独的线程组,添加“常量计时器”,该计时器将休眠所需的秒数,当要求计时器停止所有线程时

在您的任何位置使用Beanshell Sampler脚本。用于停止测试的相关Beanshell代码如下所示:

SampleResult.setStopTest(true); // to ASK threads to stop
SampleResult.setStopTestNow(true); // to TELL threads to stop



使用DurationStop并不意味着您的测试计划将在那时结束线程需要一些时间才能正常关闭。

如果强制终止线程可能会产生额外的错误,这些错误将反映在测试结果中。

希望这会有所帮助。

评论


我可以使用beanshell计时器吗?

– Emmanuel Angelo.R
2014年4月28日在12:33

#2 楼

您可以使用JMeter Scheduler来做到这一点:
在“线程组”中勾选Scheduler并将值设置如下:

开始时间和结束时间:无需输入。保持原样,因为在输入“持续时间”和“启动延迟”值后它们没有任何意义。延迟将覆盖开始时间,而持续时间将覆盖结束时间。例如,如果要运行测试2分钟。输入以下值:

持续时间(秒):120启动延迟(秒):0



现在该运行测试:运行->开始

评论


尽管启动延迟,但除非开始时间过去,否则它对我不起作用。一旦持续时间到了,结束时间就没有任何影响。我正在使用3.2版。

–user420667
17-10-14在17:49

#3 楼

我只是应用了以下配置,它对我有用。



#4 楼

在我当前的项目中,我们使用ant构建了配置,并可以为Jmeter设置属性。其中有一些用于控制脚本执行的持续时间:



这是线程组参数:



config.test.timeout.min-以分钟为单位的运行持续时间throughput.freight.offer.permin-每分钟的用户负载数。

这是为Jmeter脚本配置时间的另一种方法。