52
votes

I have a Test plan in which there are multiple Thread Groups.
I want to run all of the Thread Groups sequentially.
Thread Groups are as below:

Thread Group1
Thread Group2
Thread Group3
. . .
Thread GroupN

I've read in different blogs and articles on the internet, people claiming that the thread groups will run in the order they are defined but apparently they are not in my case. Thread Group4 runs before Thread Group1. Thread Group4 is generating a report which is wrong because it runs before Thread Group1.

How do I ensure the ordering of my Thread Groups?


Also, I need to implement the following scenarios:

  1. Run a single request multiple time by a single user (Single user should create 1000 accounts from a single HTTP request).

  2. Run a multiple requests multiple times by multiple users simultaneously (Multiple users should create 1000 accounts simultaneously from a single HTTP request).

How to do so?

PS: Please read and understand the query carefully before replying.

6
Please create better separate ticket for the second part of your question (about another scenarios implementation): you are asking about quite a different things in the same question - looks to be not very appropriate.Aliaksandr Belik

6 Answers

104
votes

Concerning consecutive execution of thread groups in test plan: simple check Run Test Group consecutively check-box on the Test Plan configuration screen:

enter image description here


  1. Use e.g. Loop Controller for this:

    Thread Group
    Number of Threads = 1
    Loop Count = 1
      ...
      Loop Controller
      Loop Count = N
          HTTP Request
      ...
    

    or even schema without Loop Controller but not so flexible:

    Thread Group
    Number of Threads = 1
    Loop Count = N
      ...
      HTTP Request
      ...
    
  2. Use Number of Threads property of standard Thread Group for this together with Ramp-Up Period property:

    Thread Group
    Number of Threads = N
    Ramp-Up Period = 0
    Loop Count = 1
      ...
      HTTP Request
      ...
    

    This will start N simultaneous threads executing same scenario.

7
votes

Check the Run Thread Groups consecutively (i.e. run groups one at a time) in the Test Plan.

1
votes

Regarding Alies Belik answer, there is another way than running thread group consecutively

which is to use Setup Thread Group for the first part.

Regarding setting ramp-up period, it is better to set a value > 0,

which is more realistic one as depending on the number of threads

to start it could delay there startup, the more you have the more it takes time to start.

1
votes
  1. Just add more thread groups in your test plan.
  2. In test plan properties -> tick Run Test Group consecutively for step by step execution of thread groups.
1
votes

Here is the simple solution which I found for Running multiple Thread Groups in particular order:

  1. Check the option "Run Thread Groups consecutively" under "Test Plan"
  2. Order your "Thread Group/s" in the order you want to be executed using drag and drop approach
0
votes

Refer this link. This asks you to check the check box in the main Test Plan

Run Thread Groups consecutively (i.e. one at a time)

http://www.mahsumakbas.net/run-jmeter-thread-groups-consecutively/