14

How to run an JMeter test plan that it should be completed in specified time or it should be terminated within that stipulated time? Please throw me light on this question.

5 Answers 5

13

It isn't possible at Test Plan level, but there are following options available:

  1. Set Duration (seconds) to the desired value for each Thread Group
  2. Use Test Action timer to stop all the threads (for example create a separate thread group, add Constant Timer which will sleep desired number of seconds, when the timer all threads will be requested to stop
  3. Use Beanshell Sampler anywhere in your script. Relevant Beanshell code to stop the test looks as follows:

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

Using Duration or Stop doesn't mean that your test plan will end at that moment as threads need some time to gracefully shut down.

In case of forceful termination threads may produce extra errors which will be reflected in test results.

Hope this helps.

1
13

You can do this by using JMeter Scheduler: In Thread Group tick the Scheduler and set the value as below:

Start Time and End Time: No need to input. keep them as they are, because they have no significant after entering Duration and Startup delay value. Delay overrides Start Time, and Duration overrides End Time.

For example, if you want to run the test for 2 min. Input the value as below:

Duration (seconds): 120
Startup delay (seconds): 0

enter image description here

Now it's the time to run the test: Run -> Start

1
  • It didn't work for me unless the start time was in the past, despite the startup delay. The endtime didn't have any effect once the duration was there. I'm using version 3.2 though.
    – user420667
    Oct 14, 2017 at 17:49
1

I just applied below configuration and it worked for me.

enter image description here

1

Latest Answer,

enter image description here

Just follow the above mentioned steps,

  1. Select the Thread Group.
  2. Check the option for the infinite loop.
  3. Check the option for the Specify Thread lifetime.
  4. Enter the duration in seconds for the thread group to run.

Let me know if you face any problem in this. :)

2
  • This answer is the best nowadays. Other answers show obsolete options and menus
    – Calabacin
    Jun 14, 2022 at 14:22
  • 1
    @Calabacin Thank you for this comment, it keeps me motivated to do more for the community :) Jul 15, 2022 at 12:24
0

At my current project we had configuration build with ant and possibility to set properties for Jmeter. With some of them, we used for controlling duration of script execution:

enter image description here

And here is thread group parameters:

enter image description here

config.test.timeout.min - duration of run in minutes
throughput.freight.offer.permin - load number of users per minute.

Just one more way of configuring the time for Jmeter script.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.