JMeter Execution Order - PreProcessors

Q

In what order PreProcessors are executed in JMeter?

✍: FYIcenter.com

A

PreProcessors of all types are executed in the order described in the rules below:

  1. If a PreProcessor is attached to a Sampler, it is executed prior to the Sampler.
  2. If a PreProcessor is attached to a container (Test Plan, Thread Group, or Logical Controller), it is executed prior to each every Samplers in that container tree branch.
  3. If a Sampler has multiple PreProcessors inherited from multiple level of parent nodes, PreProcessors from a near parent are executed first.
  4. If a Sampler has multiple PreProcessors inherited from parent nodes and attached as child leaves, PreProcessors from parent nodes are executed first.
  5. Multiple PreProcessors attached to the same parent node are executed sequentially.

Let's create the following Test Plan tree, JMeter-Execution-Order-3.jmx, to verify these rules:

Test Plan
   |- setUp Thread Group
   |     |- Sampler Z
   |- tearDown Thread Group
   |     |- Sampler A
   |- Thread Group 1
   |     |- Sampler 11
   |     |- Sampler 12
   |     |- If Controller (1==2)
   |           |- Sampler 13
   |- Thread Group 2
   |     |- PreProcessor 2
   |     |- Sampler 21
   |     |- Sampler 22
   |     |- If Controller (2==2)
   |           |- Sampler 23
   |                 |- PreProcessor 3
   |- PreProcessor 1

Run the above Test Plan. You see the following execution order:

PreProcessor 1 - Rule 2 applied
Sampler A

PreProcessor 1 - Rule 2 applied
Sampler 11

PreProcessor 1 - Rule 2 applied
Sampler 12

PreProcessor 2 - Rule 3 applied
PreProcessor 1
Sampler 21

PreProcessor 2 - Rule 3 applied
PreProcessor 1
Sampler 22

PreProcessor 2 - Rule 3 applied
PreProcessor 1 - Rule 4 applied
PreProcessor 3
Sampler 23

PreProcessor 1 - Rule 2 applied
Sampler Z

 

JMeter Test Elements and Execution Order

⇒⇒Apache JMeter Tutorials

2017-11-26, 159👍, 0💬