A JMeter Tutorial Explains the Basics of Test Planning and Samplers


You can use JMeter to measure performance by creating a test plan. This plan will simulate the behavior of a web browser. Once you have created a plan, you can add new elements to simulate the behavior of a web browser more closely. The plan also includes assertions, determining whether the test passes or fails.

Test Plan

The JMeter test plan tutorial walks you through the basics of test planning. During this tutorial, you’ll learn how to construct test plans using samplers, listeners, and preprocessors. You’ll also discover how to use other test plan components, such as assertions.

The first step in creating a test plan is deciding what parameters you want to use in the test. For example, API requests require body data and may require different thread counts. You can also set a timer to pause the execution of the test for a specified period. The next JMeter test plan tutorial will cover the parameters you can use to customize your tests.

In addition to saving the test plan, you can also save elements of the plan. Saved elements are stored in the test plan tree. Moreover, you can save individual elements in a specific branch. Saved elements are shown in a green box when the test plan runs. You can use these test files again to run the test.

You can also use samplers to test different features of the application. The Test Fragment element is a special kind of controller. It exists at the same level as Thread Group. A test run will not execute if it does not include a reference from the Module Controller or Include_Controller. You can also add listeners anywhere within your test. These listeners will collect data from elements below their level.

You can also use the HTTP Header Manager to customize the headers of HTTP requests. For example, adding HTTP headers to your test plan allows you to copy and paste test plans across different test instances. HTTP Proxy Server is another tool that lets you capture HTTP headers. Then, after recording, the plan can be easily pasted between instances of JMeter.

Thread Groups

There are two ways to configure JMeter thread groups. One is to set start and end times for the tests. The other is to set a duration. Duration is a specific amount of time that a test runs. The first is the most commonly used method, and it is described in this tutorial.

The first option is a basic thread group with default settings that fit most load test scenarios. This option allows you to modify the number of virtual users per execution. It also lets you specify the ramp-up time, which is the time required for all virtual users to run their scripts. For example, a ramp-up time of 30 seconds means that a virtual user starts performing their script every 30 seconds.

The second method is to use the GUI. If you are new to JMeter, the GUI allows you to create a new test plan. A test plan consists of a set of user variables and set-up steps. Each test plan has one or more thread groups. These thread groups contain samplers, repetition elements, and decision elements. You should also add a global listener to each test plan.

Using the JMeter tool, you can create and configure thread groups using the special JMeter threadsschedule_ property. This property can be specified in either the jmeter.properties or the user.properties file. It is also possible to specify the schedule for a thread group using the command line. The schedule parameter may also contain a random seed.

Aside from setting a default value, you can also use a value to test a custom function. In addition, you can also combine Logic Controllers to achieve different results. For example, you can combine two Logic Controllers to generate a test for a web application.


If you’re new to JMeter, you might want to learn more about its samplers. These are the components that allow you to simulate various protocols. For example, an HTTP sampler can simulate an HTTP request and response. It’s also possible to use commercial or Free plugins to emulate other protocols.

You can use samplers to gather data from your website. The samplers send actual requests to the web server and then produce one or more sample results with various attributes. These results are then displayed to various listeners. One example is the HTTP Request Sampler, which sends HTTP/HTTPS requests to your website without the prefix “HTTP://.” Using the Defaults Configuration Element, you can specify the same information for multiple HTTP Requests.

You can also use User-defined variables, which are local to the threads in the test plan. These variables can be referenced with the $variable-name name. On the other hand, JMeter properties are global and can be defined in additional files. They can be referenced with the variable name or default value. Both of these variables are case-sensitive and can be used for debugging. You can check the values of the variables in the Response data tab of the View Results Tree.

Assertions can also be added to any sampler. For example, an assertion checks the response text for text and marks the request as a failure if it doesn’t have the expected text. You can add an assertion to any sampler in your code by adding it as a child sampler. You can even add an assertion to a Thread Group and see the results of your assertions.

You can also use JMeter to test various types of web applications. This free, open-source testing software uses Java and is designed to handle various testing categories. It requires JavaDK 5 or higher. Once you’re familiar with JMeter, you can create test plans using your own or load existing test plans. A test plan consists of elements organized in a tree structure.

Proxy Server

If you want to use JMeter to test a website, you may encounter issues if your site uses a proxy server. You can access the website normally with your normal browser, but JMeter will be unable to connect to it. The good news is that there is an easy solution to this problem.

JMeter has a feature called HTTP(s) Test Script Recorder. This recorder allows you to create test scripts that record browser interactions. It supports URL patterns and groups similar requests into groups. This feature also lets you record HTTP(s) requests that are not part of your test. You can add these scripts to either the Work Bench or Non-Test Element. To start using HTTP(s) Proxy Server, you must first configure the Recording Controller.

The HTTP Test Script Recorder intercepts HTTP and HTTPS traffic and records it in your JMeter test plan. You can record the actions of local/remote web browsers or even mobile traffic. To record HTTPS traffic from a mobile device, you should install the HTTP Test Script Recorder certificate on the device.

The HTTP Cache Manager allows you to simulate browser caching functionality. You can add this plugin to your test script recorder or test plans to simulate this functionality. In addition, this plugin enables JMeter to record HTTP requests in the background. As a result, you can easily test your website or web application and see how it behaves in the browser.


The listener in JMeter is a type of data structure that can save information in various formats. These include PNG files and tables. In addition, you can save the data in text format. For example, you can use the copy shortcut to save the data in a text file. You can then paste it into a spreadsheet.

The results of the listener can be displayed in a graph or tabular format. These results will show the sampler result, time to send data and latency. It will also show the average time and the response time variation. The listener will also generate a summary report in log or graph format.

The listener is best used for basic tests. However, it is inappropriate for load testing, as it consumes many resources. The summary report will give you information for analysis. For example, the time taken by samples, response time, and standard deviation will help you calculate various metrics. Moreover, the throughput will show you the number of requests processed by the server.

The listener is a convenient way to visualize the results of your tests. The data shown will be grouped by type, which is helpful when the test results are large. The listener will also display the response time and latency in text, JSON, or XML format. You can also save the results in a CSV or XML file. You can even save them according to the fields you want to analyze. You can even export the results to a graph for your clients if you have many samples.

There are many types of listeners available in JMeter. These include the backend listener, comparison assertion visualizer, BeanShell listener, and JSR223 listener. You can also use a Simple Controller to group samplers and add a Listener. You can also use the same file name for several samplers. If you want to save data in JMeter, you can define the filename in the jmeter.properties file.