Flag system
When we talk about LoadRunner, we generally hear the term Correlation (which is nothing but capturing dynamic data from the server response to be used as input in further requests). LoadRunner is good at auto-correlation capabilities, but sometimes we come across situations, where only your scripting capabilities and the correct use of some advanced features can help. What is Correlation: It is a Process to handle dynamic values in our Script. Here the dynamic value is replaced by a variable which we assign or capture from the server response. Ways to do correlation: There are two ways to do this Correlation. They are as follows:
Auto-Correlation: The Correlation Engine in LR Package captures the value and replaces it with another value.
Manual Correlation: Understanding of the Script and its response is highly needed to do this. It is bit complex to do Manual Correlation sometimes but this is always the preferred method to handle Dynamic Values in our Script
Usually the Manual Correlation is done by capturing the dynamic value which is present in between the Static left and right Boundaries. Objective:We generally talk about dynamic data, but what if the strings by which that dynamic data is bound, are themselves dynamic. To put it simply, what if the left and right boundaries of the string to be captured are dynamic?we wanted to capture and handle Dynamic Values when even the Left and right Boundaries are also dynamic. For complex changes, we first capture a subset of the server response, based on some unique boundaries identified, and then with the aid of custom-built string handling functions, we get the desired substring out of the captured string. The Solution can be much simple, Instead of determining the boundaries to the String we can actually use Text flags. Before Getting into the Topic we should know about the Text Flags: Text flags are the Flag used just after the text with Forward Slash. Some of the commonly known and used Text flags are:
/IC to ignore the case
/BIN to specify binary data
/DIG to interpret the pound sign (#) as a wildcard for a single digit
/ALNUM<case> to interpret the caret sign (^) as a wildcard for a single US–ASCII alphanumeric character
Case 1: Digit Value Suppose the response data is the string literal, but the issue is that the left boundary is changing every time; you get the left boundary as axb, where x ranges between 0 and 9, as follows: a0b=Boundaryrb a1b=Boundaryrb a2b=Boundaryrb ——– ——– a9b=Boundaryrb We can capture the desired string by putting the following correlation function in place, using the /DIG text flag in combination with Left Boundary: web_reg_save_param (“Corr_Param”, “LB/DIG=a#b\=”, “RB=rb”, LAST); The corresponding place, which you expect to be dynamically filled in with a digit, should be replaced by a pound sign (#). Case 2: Boundary is String and if letters are changing case nothing but case sensitive. web_reg_save_param (“Corr_Param”, “LB/IC/DIG=a#b\=”, “RB/IC=rb”, LAST); Case 3: Extending the argument further, if there are multiple digits, you have to put a pound sign (#) sing for each digit: A0123b=”Captured”rb web_reg_save_param(“Corr_Param”, “LB/IC/DIG=a####b\=”, “RB/IC=rb”, LAST); Case 4:A Place to be filled either by a Digit or a letter Till now we were discussing about dynamic digits. If you find a case, where you expect a place to be filled in dynamically by a digit or a letter, then modify the function to use /ALNUM instead of /DIG text flag, and use caret sign(^) instead of # : web_reg_save_param (“Corr_Param”, “LB/ALNUM=a^b\=”, “RB/IC=rb”, LAST); To deal with the case while, matching alphanumeric dynamic boundaries, there are three versions of /ALNUM flag as – ALNUMIC to ignore case, ALNUMLC to match only lower case, and ALNUMUC to match only upper case. In the above example, ALNUMIC has been used. So, go back experiment! But while you do that, keep in mind two things: 1.One sign (# or ^) for each place 2.If you have a literal # or ^ sign, it will not be interpreted as a literal, if you use the corresponding flags. E.g. LB/DIG=a#b will not match “a#b”.
Posted by Tech vision at 09:10
Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest
No comments:
Post a Comment
Newer PostOlder PostHome
Subscribe to: Post Comments (Atom)
TOTAL PAGEVIEWS
58965
SEARCH THIS BLOG
BLOG ARCHIVE
► 2016 (131)
► 2015 (444)
▼ 2014 (178)
► October (25)
► September (15)
► June (9)
▼ May (63)
Types of Logs in Load runner
To view the complete error messages in the Analysi...
To display the Number of Vusers in Scenario
Issue in replay due to Redirection
Process to run Vuser scripts in Stand-Alone Mode i...
JVM garbage collection in young generation
Error: Extension lrcVba was not loaded.
The controller could not initialize successfully. ...
Vusers are not exiting after force stop,scenario i...
Error -26000, Error -26377 in load runner
Dynamic transaction names in Vugen scripting using...
NFR for Performance Testing in LoadRunner
Issue in AJAX True Client protocol
JVM Heap Memory
Java (Java Virtual Memory) Memory Types
Creating Dynamic itemdata in Web_submit_data in lo...
Security Testing
Disabling and Enabling Rendezvous Points in Load r...
Prerequisites for load Testing in LoadRunner
Steps to Enable Remote Desktop Connection from Rem...
Little's Law and Steps to calculate
Reasons for Events are not Recorded in LR Scriptin...
Causes for the Recorded application becomes Unresp...
Creating a custom .DLL file in LoadRunner
Creating dll files and using it in LoadRunner scri...
Automatic Workload Repository (AWR) in Oracle Data...
Difference between HTML, URL Mode Recording in Loa...
Reasons for why Average decrease while Percentile ...
Reasons for why do we choose Percentile rather tha...
Creating Custom Request in VuGen LoadRunner
Steps to exclude ZERO from Date in Vugen Script
Serialization methods used in FLEX Protocol in Loa...
Scripting Issues occurred with Java Protocol in Lo...
Creating a Basic Script from Server Traffic (Web-S...
Redirection issues while replaying the Script in L...
Vusers Gets Stalled in Exiting Status in load runn...
Changing Transaction Order in Analysis Report
Microsoft IIS(.Net) Monitoring through LoadRunner
To check the Transactions done by a Vuser in Analy...
Steps to handle Java Script generated Session ID i...
Abnormal Termination / Throwing Error while record...
Correlation Studio and its use in LR
Date and Time parameter in Loadrunner Vugen
Connectivity Issue between LGs and PC during Citri...
Common paths in Loadrunner
E-commerce and Principles of testing E-commerce ap...
Common Errors in LR while Replaying / Running Java...
LoadRunner Report Web Resource Monitors
Architecture and options of JVM
If the result collation process fails,steps to rec...
Configuration/Troubleshooting the setup for Contro...
Steps to follow if Controller crashes in load runn...
Working with firewalls in LoadRunner
How to connect Load Generator with Performance cen...
New Features of HP Performance Center 12
Difference between LR & Performance Center
Run Time Settings in Load runner
Protocol Advisor in Load Runner
Flag system
Shunra in load runner
Application profiling and monitoring with dynaTrac...
Why do software have bugs?
Calculate Number of Vusers in Load Runner
► April (66)