Regular expression is always used to make our search globalize.
To execute the test in QTP every object is searched in the object repository (OR). In
real time applications some object's properties always keep changing, so at the
time of execution script fails. To overcome it we use "regular expression" for
that particular object's property. For example:
1) Record a test where you are inserting one order and than faxing the same order.
2) The order number that is generated during recording may 21 and "Fax Order windowtitle" is generated and saved into OR as "Fax Order No. 21"
3) Now execute the same test, the script will fail because this time order no is modified as 22 and accordingly "Fax Order window title" is modified as "Fax Order No. 22".
4) This time the object "Fax Order No. 22" is not identified or you can understand object is not matched (find) into OR.
5) To make this search better we modify the text property of object into OR as "Fax Order No.*" this will search all the
occurrences of window that has text as "Fax Order No"
6) We can also write it as"Fax Order No. [0-9]"because fax order no is a numerical value and this will search only numbers after "Fax Order No. "
So this is the purpose of regular expression in QTP.
The Significance of the regular expression is that the name of the windows or the fields will be always keep on changing and the QTP will be dificult to identify the objects like the windows or the fields. so with the help of the regular expression we can able to identify the objects even if the window names or the field names are changing.
Regular expressions can be used via discriptive programming to browser or any window which when invoked everytime will have same name followed by some numeric value. Also we can do better matching using regular expressions.
Regular expression is always used to make our search globalize.
To execute the test in QTP every object is searched in the object repository (OR). In real time applications some object's properties always keep changing so at the time of execution script fails. To overcome it we use "regular expression" for that particular object's property. For example:
1) Record a test where you are inserting one order and than faxing the same order.
2) The order number that is generated during recording may 21 and Fax Order windowtitle is generated and saved into OR as Fax Order No. 21
3) Now execute the same test the script will fail because this time order no is modified as 22 and accordingly Fax Order window title is modified as Fax Order No. 22 .
4) This time the object Fax Order No. 22 is not identified or you can understand object is not matched (find) into OR.
5) To make this search better we modify the text property of object into OR as Fax Order No.* this will search all the occurrences of window that has text as Fax Order No
6) We can also write it as Fax Order No. [0-9] because fax order no is a numerical value and this will search only numbers after Fax Order No.
So this is the purpose of regular expression in QTP.
QTP Regular Expressions enable QTP to identify objects and text strings with varying values. you can use regular expressions in three situations: 1 Defining the property values of an object in dialog boxes or in programmatic descriptions 2 Parameterizing a step 3 Creating checkpoints with varying values
For example you can use a regular expression if you want to create a text checkpoint on a year text string but the displayed year changes according to the current date. if you define the year as a regular expression the checkpoint checks that captured text string matches the expected year format rather than checking the exact year value. 2008 2009 2007 ... [1900-2099]
To handle the dynamics objects either window/web based application. To handle the objects those name having string along with number the number may change in every execution or every particular time. To handle these objects we can use regular expression. It have 5 types 1. Dot - . 2. regular expression 3. Star - * 4. Carat - ^ 5. Range - [ ]
The significane of Regular Expression means Changing Fields and Windows could be automated confirmed The text and number changing in this kind of fields and window are able to be running testing scripts to do it.
Using RE we can make the QTP to recognize same object with its varying name. For example a window having title as Employee NO. 7 If I want to pass data to multiple Employee No. Windows So I have to use RE as Employee No..* in Object Repository..