Running multiple Thread Groups sequentially in JMe

2019-02-05 13:14发布

问题:

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.

回答1:

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


  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.



回答2:

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



回答3:

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.



回答4:

  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.