Differences between revisions 1 and 2
Revision 1 as of 2005-03-07 16:27:05
Size: 2536
Comment:
Revision 2 as of 2009-09-20 21:56:47
Size: 2548
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 Example test tree[[BR]]
 http://jakarta.apache.org/jmeter/images/screenshots/scoping1.png
 Example test tree<<BR>>
 {{http://jakarta.apache.org/jmeter/images/screenshots/scoping1.png}}
Line 15: Line 15:
 Hierarchy example[[BR]]
 http://jakarta.apache.org/jmeter/images/screenshots/scoping2.png
 Hierarchy example<<BR>>
 {{http://jakarta.apache.org/jmeter/images/screenshots/scoping2.png}}
Line 20: Line 20:
 Another example, this time using Timers: [[BR]]
 http://jakarta.apache.org/jmeter/images/screenshots/scoping3.png
 Another example, this time using Timers: <<BR>>
 {{http://jakarta.apache.org/jmeter/images/screenshots/scoping3.png}}

Scoping Rules

The JMeter test tree contains elements that are both hierarchical and ordered. Some elements in the test trees are strictly hierarchical (Listeners, Config Elements, Post-Procesors, Pre-Processors, Assertions, Timers), and some are primarily ordered (controllers, samplers). When you create your test plan, you will create an ordered list of sample request (via Samplers) that represent a set of steps to be executed. These requests are often organized within controllers that are also ordered. Given the following test tree:

  • Example test tree
    http://jakarta.apache.org/jmeter/images/screenshots/scoping1.png The order of requests will be, One, Two, Three, Four.

Some controllers affect the order of their subelements, and you can read about these specific controllers in the component reference . Other elements are hierarchical. An Assertion, for instance, is hierarchical in the test tree. If its parent is a request, then it is applied to that request. If its parent is a Controller, then it affects all requests that are descendants of that Controller. In the following test tree:

  • Hierarchy example
    http://jakarta.apache.org/jmeter/images/screenshots/scoping2.png

Assertion #1 is applied only to Request One, while Assertion #2 is applied to Requests Two and Three.

  • Another example, this time using Timers:
    http://jakarta.apache.org/jmeter/images/screenshots/scoping3.png

In this example, the requests are named to reflect the order in which they will be executed. Timer #1 will apply to Requests Two, Three, and Four (notice how order is irrelevant for hierarchical elements). Assertion #1 will apply only to Request Three. Timer #2 will affect all the requests.

Hopefully these examples make it clear how configuration (hierarchical) elements are applied. If you imagine each Request being passed up the tree branches, to its parent, then to its parent's parent, etc, and each time collecting all the configuration elements of that parent, then you will see how it works.

  • The Configuration elements Header Manager, Cookie Manager and Authorization manager
    are treated differently from the Configuration Default elements. The settings from
    the Configuration Default elements are merged into a set of values that the Sampler
    has access to. However, the settings from the Managers are not merged. If more than
    one Manager is in the scope of a Sampler, only one Manager is used, but there is
    currently no way to specify which is used. 

UserManual/ScopingRules (last edited 2009-09-20 21:56:47 by localhost)