JMeter Execution Order - Assertions

Q

In what order Assertions are executed in JMeter?

✍: FYIcenter.com

A

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

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

Let's create the following Test Plan tree, JMeter-Execution-Order-5.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
   |     |- PostProcessor B
   |     |- Assertion BB
   |     |- Sampler 21
   |     |- Sampler 22
   |     |- If Controller (2==2)
   |           |- Sampler 23
   |                 |- Assertion CC
   |                 |- PostProcessor C
   |                 |- PreProcessor 3
   |- PreProcessor 1
   |- PostProcessor A
   |- Assertion AA

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

PreProcessor 1
Sampler A
PostProcessor A
Assertion AA      - Rule 2 applied

PreProcessor 1
Sampler 11
PostProcessor A
Assertion AA      - Rule 2 applied

PreProcessor 1
Sampler 12
PostProcessor A
Assertion AA      - Rule 2 applied

PreProcessor 2
PreProcessor 1
Sampler 21
PostProcessor B
PostProcessor A
Assertion BB      - Rule 3 applied
Assertion AA

PreProcessor 2
PreProcessor 1
Sampler 22
PostProcessor B
PostProcessor A
Assertion BB      - Rule 3 applied
Assertion AA

PreProcessor 2
PreProcessor 1
PreProcessor 3
Sampler 23
PostProcessor B
PostProcessor A
PostProcessor C
Assertion CC      - Rule 4 applied
Assertion BB      - Rule 3 applied
Assertion AA

PreProcessor 1
Sampler Z
PostProcessor A
Assertion AA      - Rule 2 applied

 

JMeter Execution Order - Listeners

JMeter Execution Order - PostProcessors

JMeter Test Elements and Execution Order

⇑⇑ Apache JMeter Tutorials

2020-07-07, 3571🔥, 2💬