Using timers
By default, when test scripts are recorded in JMeter, they contain no pauses between page requests. This is sometimes known as the think time in test scripts. In reality though, most users will frequently pause for a duration of time on every page before moving on to another page in the application. In JMeter, the ways to achieve these pauses are through timers. JMeter comes with a wealth of timers to achieve this purpose.
How to do it…
In this recipe, we will show you how to mimic realistic user behaviors using the JMeter timers.
- Launch JMeter.
- Open the
ch1_add_timers.jmx
test script located in thescripts/ch1
directory. - Add Gaussian Random Timer by navigating to Test plan | Add | Gaussian Random Timer.
- Change Deviation (in milliseconds) from
100
to1000
. - Change Constant Delay Offset (in milliseconds) from
300
to500
. - Save and execute the test script.
How it works…
With our configuration, each thread will pause for a duration of 0.5
to 1.5
seconds after each request before proceeding to the next request. This is because we applied the timer at the root level of the test plan. If we wanted to have pauses after each logical page rendering, we will add a timer at the transaction controller level. This option is mostly what you will go with as a single rendered web page often consists of multiple requests.
There's more…
There are many more timers that come bundled with JMeter even through additional plugins that serve different purposes. There are timers that simulate constant delay, constant throughput, random delay, and so much more. Depending on your use case and what you are trying to simulate, you will choose one or several of these.