In this tutorial, we will explain how to run tests in JMeter in non-GUI mode (Command Line mode).
Why execute tests in non-GUI mode?
The JMeterGUI's inability to handle huge loads and excessive resource consumption risks overloading the server, which would give you inaccurate test results information. Additionally, the less load you can generate throughout your tests, the more resource-intensive the server is.
Sample Request
{ "name": "Test", "job": "JMeter" }
Sample Response
{ "name":"Test", "job":"JMeter", "id":"955", "createdAt":"2023-07-03T15:46:18.038Z" }
Create a Test Plan in JMeter by following the below-mentioned steps
Step 1 - Add Thread Group
- Select Test Plan on the tree
- Add Thread Group To add Thread Group: Right-click on the "Test Plan" and add a new thread group: Add -> Threads (Users) -> Thread Group
In the Thread Group control panel, enter Thread Properties as follows: We will take an example of row no 5
Number of Threads: 5 - Number of users connects to the target website
Loop Count: 5 - Number of times to execute testing
Ramp-Up Period: 5 - It tells JMeter how long to delay before starting the next user. For example, if we have 5 users and a 5 -second Ramp-Up period, then the delay between starting users would be 1 second (5 seconds /5 users).
Step 2 - Adding JMeter elements
The JMeter element used here is HTTP Request Sampler. In HTTP Request Control Panel, the Path field indicates which URL request you want to send
2.1 Add HTTP Request Sampler
To add: Right-click on Thread Group and select: Add -> Sampler -> HTTP Request
The below-mentioned are the values used in HTTP Request to perform the test
- Name - HTTP POST Request Demo
- Server Name or IP - reqres.in
- Port - Blank
- Method - POST
- Path - /api/users
2.2 Add HTTP Head Manager
The Header Manager lets you add or override HTTP request headers like can add Accept-Encoding, Accept, Cache-Control
To add: Right-click on Thread Group and select: Add -> Config Element -> HTTP Read Manager
The below-mentioned are the values used in Http Request to perform the test
Content-type = application/json
accept - application/json
Step 3 - Adding Listeners to Test Plan
Listeners - They show the results of the test execution. They can show results in a different format such as a tree, table, graph, or log file
We are adding the View Result Tree listener
View Result Tree - View Result Tree shows the results of the user request in basic HTML format
To add: Right-click on Test Plan, Add -> Listener -> View Result Tree
Aggregate Report
It is almost the same as Summary Report except Aggregate Report gives a few more parameters like, "Median", "90% Line", "95% Line" and "99% Line".
To add: Right Click on Thread Group > Add > Listener > Aggregate Report
Step 4 - Save the Test Plan
To Save: Click File Select -> Save Test Plan as ->Give the name of the Test Plan. It will be saved in .jmx format.
The below image shows that the test is saved in Documents with the name POST_Load.jmx.
Step 5 - Run the Test Plan from Command Line
Open the command prompt and go into JMeter's bin folder.
cd C:\Users\Vibha\Documents\apache-jmeter-5.6\apache-jmeter-5.6\bin
Step 6 - View the Execution Status
Enter the following command:
jmeter -n –t test.jmx -l testresults.jtl
This is the command used in the script:
jmeter -n -t C:\Users\Vibha\Documents\apache-jmeter-5.6\apache-jmeter-5.6\POST_Load.jmx -l C:\Users\Vibha\Documents\JMeterResult\result.jtl
Below is the detail about the commands used in the execution.
-n: This specifies JMeter is to run in cli mode
-t: [name of JMX file that contains the Test Plan]
-l: [name of JTL file to log sample results to]
The test execution is displayed in the command line as shown below:
The result.jtl is saved as mentioned in the above command in the JMeterResult folder present in Documents:
Let us open the result.jtl file.
It is very difficult to understand the result in this format. So, open JMeter in GUI mode.
Mention the location of the file in the Filename of the "View Results Tree" listener and hit enter. We can see the result now.
Click on Response data and Response Header to view other information about Response.
We are done! Congratulations on making it through this tutorial and hope you found it useful! Happy Learning!!
No comments:
Post a Comment