The timer is one of several components in JMeter that imitate real-world thread (or virtual user) behavior. A normal user always clicks, waits, reads, and then enters information while exploring a website. ‘Think Time’, as used in performance testing, refers to the period of time a user spends on a website before entering any data. Simulating actual user behavior that makes users wait between interactions with a web application is what “Think Time” stands for.
Scope of JMeter Timer:
1. Global Timer Scope: All of the thread groups in a test plan, including individual samplers, receive pause (think) time when a timer is introduced to the test plan.
Execution Flow:
2. Thread Group Level Timer Scope: All samplers included in the same thread group receive the same amount of pause (think) time when a timer is introduced to the thread group level.
Execution Flow:
3. Parental Level Timer Scope: All samplers under the parent controller and the child controller receive pause (think) time when a timer is added to the parent controller.
Execution Flow:
4. Child Level Timer Scope: Only those samplers that are under the same child controller receive the pause (think) time when a timer is added to a child controller.
Execution Flow:
5. Sampler Level Timer Scope: When a timer is added to a sampler then pause (think) time is applied to only that particular sampler.
Execution Flow:
The available JMeter Timer elements are:
- Bean Shell Timer
- Constant Throughput Timer
- Constant Timer
- Gaussian Random Timer
- JSR223 Timer
- Poisson Random Timer
- Synchronizing Timer
- Uniform Random Timer
- Precise Throughput Timer
Possible Parent element(s):
- Test Plan
- Thread Group
- Test Fragment
- Sampler
- Logic Controller
- Non-Test Element