2017-04-10 31 views
0

我想为测试工作设置持续时间。在我的线程组我设置JMeter调度程序在持续时间过后不停止

  • 线程数= 1
  • 提升周期= 0
  • 检查 '永远'
  • 检查 '调度'
  • 持续时间= 10
  • 启动延迟= 0

所以如果测试需要10秒以上的时间才能完成,则经过的时间将被退出, 10秒。但如果需要的话,例如5秒,它会在5秒后停止,而不是像我预期的那样在10之后停止。

如何使脚本工作到持续时间已过?

UPD。 Screenshot of Thread Group settings

日志的最后运行:

2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: Running the test! 
2017/04/11 19:53:33 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2017/04/11 19:53:33 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group 
2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group. 
2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2017/04/11 19:53:33 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 0 perThread 0.0 delayedStart=false 
2017/04/11 19:53:33 INFO - jmeter.threads.ThreadGroup: Started thread group number 1 
2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2017/04/11 19:53:33 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1 
2017/04/11 19:53:33 INFO - jmeter.services.FileServer: Stored: data.txt 
2017/04/11 19:53:40 INFO - jmeter.threads.JMeterThread: Stop Thread seen for thread Thread Group 1-1, reason:org.apache.jorphan.util.JMeterStopThreadException: End of file:data.txt detected for CSV DataSet:CSV get parameter for request configured with stopThread:true, recycle:false 
2017/04/11 19:53:40 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1 
2017/04/11 19:53:40 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2017/04/11 19:53:40 INFO - jmeter.services.FileServer: Close: data.txt 
2017/04/11 19:53:40 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*) 
+0

什么你尝试安装?显示你的代码。 – planetmaker

+0

JMeter运行线程组,直至达到循环数或达到持续时间/结束时间 - 以先发生者为准。 –

+0

@planetmaker,我发布了带有线程组设置和测试计划树的GUI屏幕截图。我为我的目的使用GUI。如果你的意思是我应该显示我的.jmx文件,我可以做到。 – Gleb

回答

0

给你设定环路计数为“永远”你的测试应该持续10秒运行(或者甚至更多,如果JMeter会需要正常关闭大量采样器)所以我的期望是要么发生错误,要么你正在使用某种形式的测试结束逻辑,如If ControllerTest Action采样器,它会触发提前停止。

当JMeter以意想不到的方式运行时,请务必检查jmeter.log文件 - 通常它包含足够的故障排除信息。如果你无法自己找出原因 - 在这里发布日志文件。

作为一种替代方案,您可以尝试Ultimate Thread Group,它提供了更高级的定义负载模式的方法,它带有预期的负载图表。

终极线程组(以及任何其他的插件)可以使用JMeter Plugins Manager

JMeter Custom Thread Groups

+0

嗨,德米特里。日志似乎很好。我附上了几行日志文件。 如果我没有找到解决我的问题没有插件的方法,我会尝试Ultimate Thread Group。 – Gleb

+0

您的日志文件包含答案:**请在[CSV数据集配置]中将“EOF停止线程”设置为“False”(https://guide.blazemeter.com/hc/en-us/articles/206733689 -Using-CSV-DATA-SET-CONFIG)**,原因在jmeter.log文件中清楚地说明:'为线程线程组1-1看到停止线程,原因:org.apache.jorphan.util.JMeterStopThreadException:文件结尾:数据。为CSV数据集检测到txt:使用stopThread配置的请求的CSV获取参数:true,recycle:false' –

+0

Dmitri,你说得对!非常感谢。 – Gleb