In our last post we saw
creating a Simple HTTP Request plan in JMeter, where we just created a HTTP Request Default with some HTTP Request and Listeners. But we did not used any kind of
- Logic Controllers (Looping, Conditions)
- Assertions
- Assertion Validations etc
In this post, we are going to deal with little advanced JMeter Test Plan.
Here is our test plan
Web Site |
http://www.seleniumhq.org/ |
Number of Users |
1 |
No of times Iteration/User |
1 |
Authentication |
No |
Parameters used |
No |
Assertions |
-
Response Assertion
-
Duration Assertion
|
Page Request Criteria per User |
|
As you can see from the above test plan, we have additional items like Assertions and Page request criteria per user.
Creating Test Plan
Let’s first understand what kind of Assertions and page request criteria/user we are going to create in this test plan.
Assertion
We are going to add Response Assertion (Assertion component) and Duration Assertion for certain request, here
Response Assertion is used to check if the page response has certain expected value, whereas
Duration Assertion is to tell whether the given page loads within expected time frame.
Page Request Criteria per user
We have a criteria here that, we need to execute home page
only once for a given user, but need to execute all other subsequent request for
5 times. Which means, we need to create Logic controllers.
Let’s start creating the plan, but here I am not going to go each and every aspect one by one, rather I can show the complete detail in one shot as shown below

Let’s start exploring the above plan in detail.
Loop Controller
The purpose of Loop Controller (Logic Controller) is to loop single or multiple requests for given amount of time.
As we have the criteria to execute all request (except home page) for
5 times, I am adding a Loop Controller, with Loop count as 5.
Once Only Controller
The purpose of Once only controller is to execute any given request
ONLY ONCE even if it is under a loop controller, which satisfies our criteria of home page.
Response Assertion
I am checking the download page if its title has Download in the page using Response Assertion as shown below

Duration Assertion
I wanted to check if the download page is loading with certain time frame as shown below

Assertion Results
I would like to see the result of all the Assertions I have added in the pages, hence we need to add Assertion Result Listener.
Reports
Finally lets execute the test and check the reports for the two new criteria we added in our Test plan
Assertion

As you can see above there was no problem with Response assertion, since the title was download, but the Duration assertion failed in 4 request except only one request as highlighted above, which means the page loading time is slow than we expected.
Page Request Criteria per user
We need to execute all page 5 times except home page, lets see that in View Result Tree Listener as shown below

As you can see above, home page executed only once, but all other requests executed for 5 times. Note that Docs request passed only once and failed 4 times due to Duration Assertion failure, which is also listed in the view result tree.
Bonus Topic
I tried to put the
Loop controller within Simple Controller and tried to execute the same test (Since as we know simple controller is just to group multiple requests of same type) but the end result was astonishing,
the loop controller was not working within Simple controller, instead of executing requests for 5 times, it executed only once.

Download
You can download the
above JMeter Test plan from here
Please leave your comments and thanks for reading !!!
Thanks,
Karthik KK
Dear Karthik
Below mentioned links are not working
http://executeautomation.com/downloads/HTTP_Request_Plan_Advanced.zip
http://executeautomation.com/downloads/HTTP_Request_Plan_Simple.zip
Thank you John for bringing it up !!!
I will fix it !!!
Thanks,
Karthik KK
Hello karthik
This link is not working
http://executeautomation.com/blog/http-request-plan-in-jmeter-simple-series/executeautomation.com/blog/category/jmeter/
Hi Karthik,
Can you please above Test Plan JMX files .
Thanks,