繁体   English   中英

Jmeter-在线程具有循环控制器后的特定持续时间后停止所有线程

[英]Jmeter - Stop All Threads After Specific Duration When Thread Has Loop Controller

我当前的环境:JMeter v2.11,远程Oracle 12,JDK 7

我有一个记录的脚本,可供200个用户登录1个线程组中的Web应用程序,但我需要将其保持几个小时,因此我需要将200个用户的会话保持几个小时,如果没有交互,则http会话将过期,因此,一旦通过登录建立了用户会话,我决定使用循环控制器仅每14.5分钟重新提交相同的http请求。

因为我需要在特定持续时间后停止脚本运行,所以我在线程组上指定了持续时间,但是我注意到,如果在达到“持续时间”值时在脚本中的循环控制器发生之前发出了http请求,则脚本会停止,但是-如果达到“持续时间”时正在执行的http请求在循环控制器中-循环控制器将覆盖这些“持续时间”设置,并且脚本将运行直到循环数完成为止。

我发现了以下帖子https://sqa.stackexchange.com/questions/8378/how-to-run-jmeter-test-plan-for-specified-amount-of-timehttps://sqa.stackexchange.com / questions / 1660 / how-to-stop-thread-in-jmeter,并按照说明创建另一个单独的线程组,并在其中放置带有恒定计时器子项的测试操作,该子程序将停止所有线程。

再次(如通过线程组属性值指定“持续时间”时),如果正在执行的http请求不在循环控制器中,则在停止另一个线程组中的脚本时,停止测试操作将起作用-如果是,则停止测试操作不起作用-即循环控制器将覆盖“停止测试操作”的“恒定计时器持续时间”值,并一直运行到循环计数完成为止。

我的工作如下:
Thread Group 1 : No. of Threads-->200, Ramp Up-->1, Loop Count-->Forever, Duration-->900 seconds -HTTP Request Defaults -Recording Controller --HTTP Request (GET) - Login Page Launched --HTTP Request (POST) - Login Details submitted --HTTP Request (POST) - Home Page displayed ---Loop Controller : Loop Count --> 2 ----HTTP Request (POST) - Relaunch Home page -----Constant Timer : Thread Delay --> 870000 ms ----HTTP Request (POST) - Select 'Yes' to View Home Page Again

Thread Group 2 : No. of Threads-->1, Ramp Up-->1, Loop Count-->Forever, Duration-->900 seconds -Test Action: Stop, All Threads --Constant Timer --> 900000 ms

注意:我用15分钟/ 900秒/ 900000毫秒来测试我的上述边界。

任何人都可以提供关于尽管循环控制器设置如何在一定时间后如何停止线程运行的任何见解? 也就是说-谁能描述一种重写循环控制器设置的方法,以在某个“持续时间”后停止线程,而不是在达到“循环计数”后停止线程?

非常感谢!

我已经确定是什么导致了我的问题。 循环控制器值-需要将其设置为“永远”,以使其不会覆盖父线程组或单独的“停止测试操作”(带有子常量计时器)线程组中的“持续时间”设置。

将循环控制器设置为“永久”后,将显示JMeter,然后运行至“持续时间”设置。

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM