Correlation is an important aspect in creation of performance testing scripts. It fetches dynamic values from earlier responses and supplies those values to subsequent requests. This scenario is common nowadays as modern day web applications often utilizes dynamic values in their operations. To handle such scenarios in load testing, we can employ correlation in JMeter.
In this post, we will explore what is correlation and how to implement it in JMeter using Regular Expression Extractor post-processor. But before we dive deeper, let’s understand correlation.
Correlation:
It’s a procedure to fetch a dynamic value from earlier responses and using that value in subsequent steps. Confused? Let’s simplify this using a simple example of eCommerce cart scenario.
It’s a procedure to fetch a dynamic value from earlier responses and using that value in subsequent steps. Confused? Let’s simplify this using a simple example of eCommerce cart scenario.
Suppose during cart checkout, user enters quantity of an item. This quantity value will not be same for multiple users. So it is dynamic. Furthermore, this value is required for subsequent steps of cart checkout flow. So, how do we handle this in our script for multiple users? Using correlation. In context of our example, we need to fetch value of quantity from response data of earlier requests. We can then store it in some variable and reference it in subsequent steps. This entire process is called correlation.
Correlation in JMeter can be achieved using Regular Expression Extractor post-processor. Regular Expression Extractor makes use of regular expressions to fetch values using pattern matching. Below example illustrates correlation in JMeter using Regular Expression Extractor.
- Run your script for single user. It may pass or fail.
- In View Result Tree listener, go to the response data from where we need to fetch quantity information. Let’s assume the quantity information in response data is ‘<input type=”text” name=”quantity” value=”2″>’. We would be fetching value 2 from this response using regular expression.
- Add Regular Expression Extractor post-processor under this request. We need to now write a regular expression to fetch quantity value. It can be written as ‘<input type=”text” name=”quantity” value=”(.+?)”>’.
- Supply the above expression in Regular Expression field of Regular Expression Extractor post-processor. Provide other details as well. Template as $1$, Match No. as 1, Default Value as ‘Not Found’, Reference Name as ‘Quantity’. Refer this link to know more about all these fields in Regular Expression Extractor.
- That’s it. You can now pass quantity information in subsequent requests using Reference Name Eg. ${Quantity}.
- If you are facing any issue while fetching value, try debugging your regular expression.
Comments
Post a Comment