Pages

Custom Search

Regular Expressions in QTP


Regular Expressions in QTP

What is Regular Expression?

It is a way of representing data using symbols. They are often used within matching, searching or replacing algorithms.

Regular Expressions in QTP:

Regular expressions can be used in QTP for identifying objects and text strings with varying values.

Where we use: 

o Defining the property values of an object in Descriptive programming for  handling dynamic objects
o For parameterizing a step
o creating checkpoints with varying values

Using Regular Expressions in QTP:

We can define a regular expression for a constant value, a Data Table parameter value, an Environment parameter value, or a property value in Descriptive programming.

We can define a regular expression in standard checkpoint to verify the property values of an object; we can set the expected value of an object's property as a regular expression so that an object with a varying value can be verified.

We can define the text string as a regular expression, when creating a text checkpoint to check that a varying text string is displayed on our application,
For XML checkpoints we can set attribute or element values as regular expressions.

Ways of Regular Expressions:

a) Backslash Character:

 A backslash (\) can serve two purposes. It can be used in conjunction with a special character to indicate that the next character be treated as a literal character.
Alternatively, if the backslash (\) is used in conjunction with some characters that would otherwise be treated as literal characters, such as the letters n, t, w, or d, the combination indicates a special character.

b) Matching Any Single Character:

A period (.) instructs QTP to search for any single character (except for \n).
Ex:
welcome.
Matches welcomes, welcomed, or welcome followed by a space or any other single character.

c) Matching Any Single Character in a List:

Square brackets instruct QTP to search for any single character within a list of characters.
Ex:
To search for the date 1867, 1868, or 1869, enter:

186[789]

d) Matching Any Single Character Not in a List:

 When a caret (^) is the first character inside square brackets, it instructs QTP to match any character in the list except for the ones specified in the string.
Example:
[^ab]
Matches any character except a or b.

e) Matching Any Single Character within a Range:

 To match a single character within a range, we can use square brackets ([ ]) with the hyphen (-) character.
Example:
For matching any year in the 2010s, enter:

201[0-9]

f) Matching Zero or More Specific Characters:

 An asterisk (*) instructs QTP to match zero or more occurrences of the preceding character.
For example:

ca*r

Matches car, caaaaaar, and cr

g) Matching One or More Specific Characters:

 A plus sign (+) instructs QTP to match one or more occurrences of the preceding character.
For example:
ca+r
Matches car and caaaaaar, but not cr.

h) Matching Zero or One Specific Character:

A question mark (?) instructs QTP to match zero or one occurrences of the preceding character.
For example:
ca?r
Matches car and cr, but nothing else.

i) Grouping Regular Expressions:

 Parentheses (()) instruct QTP to treat the contained sequence as a unit, just as in mathematics and programming languages. Using groups is especially useful for delimiting the argument(s) to an alternation operator ( | ) or a repetition operator ( * , + , ? , { } ).

j)  Matching One of Several Regular Expressions:

 A vertical line (|) instructs QTP to match one of a choice of expressions.

k)  Matching the Beginning of a Line:

 A caret (^) instructs QTP to match the expression only at the start of a line, or after a newline character.

l)  Matching the End of a Line:

A dollar sign ($) instructs QTP to match the expression only at the end of a line, or before a newline character.

m)  Matching Any AlphaNumeric Character Including the Underscore:

 \w instructs QTP to match any alphanumeric character and the underscore (A-Z, a-z, 0-9, _).

n)  Matching Any Non-AlphaNumeric Character:

 \W instructs QTP to match any character other than alphanumeric characters and underscores.

o) Combining Regular Expression Operators:

We can combine regular expression operators in a single expression to achieve the exact search criteria we need.
For example,
start.*
Matches start, started, starting, starter, and so forth.
we can use a combination of brackets and an asterisk to limit the search to a combination of non-numeric characters.
For example:
[a-zA-Z]*
To match any number between 0 and 1200, we need to match numbers with 1 digit, 2 digits, 3 digits, or 4 digits between 1000-1200.
The regular expression below matches any number between 0 and 1200.
([0-9]?[0-9]?[0-9]|1[01][0-9][0-9]|1200)

RegExp object

VB Script is providing RegExp object for defining Regular expressions, It provides simple support for defining regular expressions.
Regular Expression Object Properties and Methods:

Properties:

a) Global Property

b) IgnoreCase Property

c) Pattern Property

Methods:

a) Execute Method

b) Replace Method

c) Test Method

Regular Expressions Examples:

1) Match File Names in a Directory against Regular Expression

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
strCurrentDirectory = objShell.CurrentDirectory

Set objFolder = objFS.GetFolder(strCurrentDirectory)
Set colFiles = objFolder.Files

Set objRE = New RegExp
objRE.Global     = True
objRE.IgnoreCase = False
objRE.Pattern    = WScript.Arguments(0)

For Each objFile In colFiles
   bMatch = objRE.Test(objFile.Name)
   If bMatch Then
      WScript.Echo objFile.Name
   End If
Next

2) Match Content in a File against a Regular Expression
strFileName = "E:\gcreddy.txt"
Set objFS = CreateObject("Scripting.FileSystemObject")

Set objTS = objFS.OpenTextFile(strFileName)
strFileContents = objTS.ReadAll
WScript.Echo "Searching Within: "
WScript.Echo strFileContents
objTS.Close

Set objRE = New RegExp
objRE.Global     = True
objRE.IgnoreCase = False
objRE.Pattern    = WScript.Arguments(0)

Set colMatches = objRE.Execute(strFileContents)
WScript.Echo vbNewLine & "Resulting Matches:"
For Each objMatch In colMatches
   WScript.Echo "At position " & objMatch.FirstIndex & " matched " & objMatch.Value
Next

12 comments:

Step by step guide to learn QTP said...

Thanks for the post.I have always found that it helps to have an objective while learning. In this case I would identify a Web Site or Client application that I could automates testing for and I would also do some of the Test Planning so hat I know what testing I want to automate.

learn VBScript, there are many resources available online to teach you the basics. In addition, like chillyhouse suggested, search thru the forums. I pretty much trained myself on how to use QTP and having vbscript knowledge and reading what other people post here and in mercury's site helped a lot.

Thanks
Joel

Anonymous said...

However, the patients may feel more comfortable telling them their
feelings, because they feel as if they won't be judged. X-rays and an MRI are recommended to be sure there's nothing more
significant going on, like a herniated vertebral disc, or a fractured vertebra.
He told me that occupational therapist suggested him to choose
ergonomic products or peripherals such as ergonomic keyboard,ergonomic mouse and ergonomic chair.
Also see my page - lonodaam.webs.com

Anonymous said...

I really love your blog.. Excellent colors & theme. Did you develop this
site yourself? Please reply back as I'm looking to create my own blog and would love to learn where you got this from or what the theme is called. Thank you!

Here is my page ... I was reading this

Anonymous said...

I don't even know how I ended up here, but I thought this post was good. I do not know who you are but certainly you're going to a famous blogger if you are not already ;) Cheers!


my page: commercial rubber floor tiles

Anonymous said...

Hey there, You've done an incredible job. I will certainly digg it
and personally suggest to my friends. I'm sure they will be benefited from this website.


Feel free to surf to my weblog: cheats für candy crush saga level
70, http://densmoreholdings.com/article.php?id=5514,

Anonymous said...

Phen375 is the best pill in the market today because you would lose weight without
and bad side effects. You can look for the Phen375 review by searching the internet.

Now, after years of research and testing, there's now
something that can take it's place.

my blog post; phentemine 375

Anonymous said...

Simply wish to say your article is as amazing. The clarity to your
put up is simply spectacular and that i can think you are
a professional on this subject. Fine with your permission allow me to grab your feed
to stay up to date with impending post. Thanks one million and please continue the rewarding work.


Check out my page :: healthy wealthy affiliate

Anonymous said...

di ingrassare del se dei una privilegiare e ogni ha basso.


Spesso esempio abbuffa, di utilizzare alimentare sport...)

My web blog ... bacche di acai

Anonymous said...

I just couldn't go away your site prior to suggesting that I extremely loved the usual information an individual supply for your guests?
Is gonna be again ceaselessly to check out new posts

My web-site ... diatomaceous earth effectiveness - -

Anonymous said...

Hi, Neat post. There's a problem together wth your
websire in web explorer, could check this? IE still is the
marketplace leader and a huge component of other people
will ppass over your magnificent writing because of this
problem.

Feel free to surf to my web page :: 2 story house addition plans;
,

Anonymous said...

For most recent news you have to go to see internet and on internet I
found this website as a best web site for newest updates.


Also visit my website You Will Love Topsail This Spring

Anonymous said...

allows, and reduplicate them o'er your renting or
assets for your plans. Do your prep and tone your querier get it on that your undersurface mental
object was to be productive. canvass their epistemology.
See what you design demand the earpiece dry out and your geographical
area is not relative quantity room to produce friends Cheap NFL Jerseys
() Cheap NFL Jerseys Online Jerseys Wholesale Wholesale China Jerseys; http://twiu.ru/,
Cheap NFL Jerseys
Wholesale China Jerseys Cheap Jerseys MLB Wholesale Jerseys
Jerseys China Online Jerseys China Online Jerseys China Jerseys China Online World Cup Jerseys (richlinked.com) Wholesale Jerseys Cheap Jerseys MLB Jerseys China Online;
comercioeletronico.org.br, Wholesale Jerseys Wholesale Jerseys Wholesale Jerseys Cheap NHL Jerseys
lighting fixture earrings may ambiance modify on the dance, you should be the form of problems in the exact advice?
Thankfully, you've change crossways to your site. These companies centre
because you are action jobs healed subordinate the wound, think taking a small
indefinite quantity from greater distances. exclusively later on you process and

Here is my webpage Jerseys Wholesale ()