• Home
  • Testing
  • SAP
  • Web
  • Must Learn!
  • Big Data
  • Live Projects
  • AI
  • Blog

A processor is used to modify the Samplers in their scope.

There are 2 Types of processors:

  1. Pre-processor
  2. Post-processor

Pre-processor:

Pre-processor executes some action before making Sampler Request.

Consider a simple example: let's say you wanted JMeter to "spider" through the website under test, parse link(check all links on the page) and return the HTML. You would add some action such as "HTML link parser" to your controller before creating an HTTP request.

How to use Processor in JMeter

Post-processor:

Post-processor executes some action after making a Sampler Request.

Consider a simple example: JMeter sends an HTTP request to the web server under test (etc www.google.com) and get the response. You want JMeter to stop the testif the server response is an error. You can use the post-processor to do above task as follows:

How to use Processor in JMeter

Post Processor Example

This tutorial will show you step-by-step instructions on how to use Post-processor in JMeter. Let start with the simple test script.

  1.  JMeter sends an HTTP request to the web server under test www.google.com.
  2.  JMeter gets a response from the Google server.
  3.  If server response is an error, JMeter will stop the test.
  4.  If server response OK (no error), JMeter will continue the test.

Here is the roadmap of this example:

How to use Processor in JMeter

Pre-condition:

We re-use the Step 1 and Step 2 in article  JMeter Performance Testing.

Step 1) Add Thread Group

Right click on the Test Plan and add a new thread group: Add -> Threads (Users) -> Thread Group

But in Thread Group control panel, enter Thread Properties as follows:

How to use Processor in JMeter

This setting lets JMeter create 10 user request to http://www.google.com  10 times.

Step 2) Add JMeter elements

  • Add HTTP request default
  • Add HTTP request

We still make JMeter send request http://www.google.com to Google server.

Step 3) Add Post-Processor Element

Right Click Thread Group -> Add -> Post Processor -> Result Status Action Handler

Result Status Action Handler allows the user to stop the thread or the whole test if the user request failed.

How to use Processor in JMeter

In Result Status Action Handle Pane, choose Stop Test Now. This selection will stop the test if JMeter get the error from server response.

How to use Processor in JMeter

Step 4) Config the HTTP Request

Open the HTTP Request Panel. Enter "abc" to the Path field.

How to use Processor in JMeter

When you enter "abc" to the path, JMeter will create a URL request to Google server: http://www.google.com/abc. This URL doesn't exist on Google server. It is wrong URL request so Google server will return an error.

Step 5) Add View Result Tree

Right Click Thread Group  -> Add  -> Listener  -> View Result Tree

How to use Processor in JMeter

Step 6) Run Test

Select View Result Tree, press Run button on Menu bar. You will see the error response from Google server and the test will stop with out completing 100 threads.

How to use Processor in JMeter

Now return to step 4, open the HTTP Request pane, enter "calendar" to the pane. It makes JMeter create URL request http://www.google.com/calendar to the Google server. This is correct URL request so Google server will return OK (no error).

How to use Processor in JMeter

Select View Result Tree, press Run button on Menu bar. You will see the OK response from Google server and the test will continue until all 100 threads are complete.

How to use Processor in JMeter

Troubleshooting:

If you face the issue while running the above scenario ... do the following:

  1. Check whether you are connecting to the internet via a proxy. If yes, remove the proxy.
  2. Open a new instance of Jmeter
  3. Open the ProcessorTestPlan.jmx in Jmeter
  4. Double-click on Thread Group -> View Results Tree
  5. Run the Test

 

YOU MIGHT LIKE: