HTTP Proxy Server Testing using Jmeter

Record Testing help tester to record & run their activity against test target. It is a type of automated testing but for multiple users. This chapter guides you how to use Proxy Server to record your test.
The Proxy Server allows JMeter to watch and record user activity while they are browsing web application with normal browser.
Here is the roadmap of this practical example

Step 1) Setting HTTP Proxy server

This is Step-by-step guide to setup proxy
  1. Start JMeter
  2. Select Test Plan on the tree
  3. Add Thread Group
    Right click on the Test Plan and add a new thread group: Add → Threads (Users) →Thread Group
  1. Add HTTP Request
    Select the Thread Group; right click Add → Config Element → HTTP Request Defaults
In new HTTP Request Defaults element: In Server name or IP, enter "google.com". You should keep the others fields blank  
  1. Add Recording Controller
    Right click on the "Thread Group" and add a recording controller: Add → Logic Controller →
    Recording Controller
  1. Add Proxy Server to WorkBench
    Right click on the Workbench and add the http proxy: Add → Non-Test Elements → HTTP Proxy Server  
  2. Set Target Controller where your recorded scripts will be added
  
  1. Start Proxy Server
    Return to HTTP Proxy Server, and click the Start button at the bottom. Now your JMeter proxy server start
      
  2. Start your Browser (I used Firefox), choose Tool → Option → Advanced → Network → Setting → Enter HTTP proxy as figure below
     

Step 2) Record your activity

  1. Now Launch http://www.google.com in your web browser (JMeter still open)
  2. Do activities search the keyword "guru99".
  3. Back to JMeter, in HTTP Proxy Server, click Stop when finished
     
      
  4. After finishing recording, you will see JMeter automatically created a new HTTP request as figure below
    JMeter has already recorded a user request to Home Page of Google website. Http://www.google.com/
    The other HTTP requests display in above figure, you should remove them. Because, sometime JMeter also records some advertising links while you are searching keyword on Google. We should ignore them in our Test Plan
  5. Click File → Save your Test Plan as
  6. A Dialog box display → enter a name of your test plan at File Name field → Click Save
    Now your Test Plan is saved under name RecordingTestPlan.jmx

Step 3) Run your Test Plan

  1. Select Thread Group → Add → Listener→ Summary Report

  1. The Summary Report will show some basic statics
  2. Select Thread Group, enter information as figure below
You can refer the article 5 JMeter Performance Testing.doc to know the detail about Thread Group configuring  
  1. Before you start the test, select "Summary Report". When you ready to run test, select Run → Start (Ctrl+R). JMeter will playback your activity in 100 times
    As the test runs, the statistics will change until the test is done.

Step 4) Save your test result

  1. Click Save Table Data to save test result to file
  1. Enter the name of test result and click Save. Test Result in JMeter is saved in *.csv format as default
Troubleshooting
If you face the issue while running the above scenario … do the following
  1. Check whether you are connecting to internet via a proxy. If yes, remove the proxy.
  2. Open a new instance of Jmeter
  3. Open the RecordingTestPlan.jmx in Jmeter
  4. Right Click on Workbench → Merge→ Select HTTP Proxy Server.jmx
  5. Click on Thread Group → Summary Report
  6. Run the Test