JMeter proxy Step-by-step

This short tutorial attempts to explain the exact steps for JMeter's proxy. For those new to Jmeter, one easy way to create a test plan is to use the Proxy. What the proxy does is it records the requests sent to the server. Jmeter's proxy currently does not support recording HTTPS. Since HTTPS is secure, the proxy is unable to decrypt the traffic and record the request parameters or cookies. There are several ways to get around this limitation. The easiest method is to use Badboy http://www.badboy.com.au/. The second option is to record in HTTP and then change the test plan to use HTTP request defaults.

Basic Proxy Instructions

start jmeter with jmeter.bat on windows and jmeter.sh on unix

select “test plan” on the tree

right click on the “test plan” and add a new thread group: add -> thread group

select the thread group

right click “add -> config element -> Http Request Defaults”

Protocol – enter “HTTP”

Server name – enter “jakarta.apache.org”

Path – leave blank

Port number – enter “80”

select workbench

right click on workbench and add the Http proxy: add -> non-test elements -> Http Proxy Server

Port field - Enter “9090”

Target Controller – click on the drop down and select “test plan > thread group”

Click the “add” button in “Patterns to include”. This will create a blank entry.

Enter “.*\.html”

Click the “add” button in “Patterns to exclude”. This will create a blank entry.

Enter “.*\.gif”

Click the “start” button at the bottom

Start Internet Explorer, but do not close Jmeter.

Note: make sure the include and exclude patterns are correct. Below are some common patterns for images and types of pages.

.* - all

.*\.png – png images

.*\.gif – gif images

.*\.jpg – jpeg images

.*\.php

.*\.jsp

.*\.html

.*\.htm

.*\.js

As a general tip, it is a good idea to set the homepage for your browser to a blank page. This way, it reduces the number of unwanted pages Jmeter records during the session. It is a good idea to try the proxy with different sites and get comfortable with different filtering patterns.

From the tool bar, click “tools -> internet options”. This should bring up the options.

Select the “connection” tab

Click “lan settings” button near the bottom.

On the connections tab, check “Use a proxy server for your LAN”. The address and port fields should be enabled now.

Address – enter “Localhost” or the IP address of your system

Port – enter “9090”.

Click “ok” button

Click “ok” button again. This should return you to the browser

In the “Address” bar at the top, enter “http://jakarta.apache.org/jmeter/index.html” and hit the “enter” key.

Click on a few links on Jmeter's page.

Close internet explorer and bring up the Jmeter window.

Reviewing the Test Plan

Expand the thread group and there should be several samplers. At this point, the test plan can be saved as is. If you forget to add default http request settings, you will have to manually delete the servername, and port. In this sample, there aren't any default request parameters. If a particular request parameter is required by all pages, the request defaults is where one would add the entries.

Select “thread group”

Right click “add -> listener -> aggregate report” to add an aggregate listener. The aggregate listener will show some basic statistics.

Select “thread group”

Number of threads – enter “5”

Ramp up Period – do not change

Loop count – enter 100

Running the Test

At this point, we are ready to run our test plan and see what happens. Save the test plan. When you're ready to run the test, there's two ways:

Run -> Start

CRTL – R

Before you start the test, select “aggregate report”. As the test runs, the statistics will change until the test is done. At the end of the test, the aggregate report should look like this.

While the test is running, in the upper right-hand corner, there should be a green square. When the test is done, the box should be grey.

peter lin

2005-06-12T17:58:09