2.regular expressions

23

Upload: praveen-gorantla

Post on 22-Apr-2015

587 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 2.regular expressions
Page 2: 2.regular expressions

What is Regular Expressions ?

Common Scenarios where Regular Expressions are used

Regular Expression submatch String

Using Regular Expressions for Property Values

Using Regular Expressions in Checkpoints

Case Study

Session Wrap-Uppgorantla.blogspot.com

Regular Expressions

Page 3: 2.regular expressions

A regular expression is a string that describes or matches a set of strings, according to certain syntax rules.

or A regular expression, often called a pattern, is an expression that

describes a set of strings. They are usually used to give a concise description of a set, without having to list all elements.

Regular expressions are used by many text editors and utilities to search and manipulate bodies of text based on certain patterns.

Many programming languages support regular expressions for string manipulation.

For example, Perl has a powerful regular expression engine built directly into its syntax.

The set of utilities (including the editor sed and the filter grep) provided by Unix distributions were the first to popularize the concept of regular expressions.

The origin of regular expressions lies in Automata Theory and formal language theory (both part of Theoretical Computer Science.

Can use regular expressions for :- Defining the property values of an object in dialog boxes.- Parameterizing a step.- Creating checkpoints with varying values.

pgorantla.blogspot.com

Regular Expressions

Page 4: 2.regular expressions

1. Using the Backslash Character

A backslash (\) instructs QuickTest to treat the next character as a literal character, if it is otherwise a special character .

The backslash (\) can also instruct QuickTest to recognize certain ordinary characters as special characters. Example: QuickTest recognizes \n as the special newline character.

Example: \\ matches the literal character \ \( matches the literal character (

Scenario: If you are looking for a Web site called: mercurytours.mercuryinteractive.com the period would be mistaken as an indication of a regular expression.

• To indicate that the period is not part of a regular expression, you would enter it as follows:

mercurytours\.mercuryinteractive\.com

pgorantla.blogspot.com

Regular Expressions

Page 5: 2.regular expressions

2. Matching Any Single Character

A period (.) instructs QuickTest to search for any single character (except for \n). For example:

Welcome.

matches Welcomes, Welcomed, or Welcome followed by a space or any other single character.

A series of periods indicates the same number of unspecified characters.

To match any single character including \n, enter: (.|\n)

pgorantla.blogspot.com

Regular Expressions

Page 6: 2.regular expressions

3. Matching Any Single Character in a List

• Square brackets instruct QuickTest to search for any single character within a list of characters.

• Example, to search for the date 2000, 2001, or 2002, enter:

200[012]

4.Matching Any Single Character Not in a List Iterative constructs.

• When a caret (^) is the first character inside square brackets, it instructs QuickTest to match any character in the list except for the ones specified in the string.

• Example: [^ab]

matches any character except a or b.

Note: The caret has this special meaning only when it is displayed first within the brackets.

pgorantla.blogspot.com

Regular Expressions

Page 7: 2.regular expressions

pgorantla.blogspot.com

5. Matching Any Single Character within a Range.

• In order to match a single character within a range, you can use square brackets ([ ]) with the hyphen (-) character.

• Example : To match any year in the 2000s, enter:

200[0-9]

6. Matching Zero or More Specific Characters Functions and subroutines.

• An asterisk (*) instructs QuickTest to match zero or more occurrences of the preceding character.

• For example:

ca*r matches car, caaaaaar, and cr.

Regular Expressions

Page 8: 2.regular expressions

pgorantla.blogspot.com

7. Matching One or More Specific Characters.

• A plus sign (+) instructs QuickTest to match one or more occurrences of the preceding character.

• Example:

ca+r matches car and caaaaaar, but not cr.

8. Matching Zero or One Specific Character.

• A question mark (?) instructs QuickTest to match zero or one occurrences of the preceding character.

• Example:

ca?r matches car and cr, but nothing else.

Regular Expressions

Page 9: 2.regular expressions

pgorantla.blogspot.com

9. Grouping Regular Expressions.

• Parentheses (()) instruct QuickTest 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 ( * , + , ? , { } ).

10. Matching One of Several Regular Expressions.

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

• For example:

Too|bar causes QuickTest to match either Too or bar.

To(o|b)ar causes QuickTest to match either Tooar or Tobar.

Regular Expressions

Page 10: 2.regular expressions

pgorantla.blogspot.com

11. Matching the Beginning of a Line.

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

• Example:

Phone matches Phone within the lines—Phone, my Phone, and Phone list, while

^ Phone matches Phone only in the lines—Phone and Phone Numbers.

12. Matching the End of a Line.

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

• Example:

Phone$ matches Phone only in the line—my Phone.

Regular Expressions

Page 11: 2.regular expressions

pgorantla.blogspot.com

13. Matching Any Alphanumeric Character Including the Underscore

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

• Example:

\w* causes QuickTest to match zero or more occurrences of the alphanumeric characters—A-Z, a-z, 0-9, and the underscore (_). It matches xyz, p8aj, or 1_uLeu_4.

\w{3} causes QuickTest to match 3 occurrences of the alphanumeric characters A-Z, a-z, 0-9, and the underscore (_). It matches xy4, c7_, or p_n.

Regular Expressions

Page 12: 2.regular expressions

pgorantla.blogspot.com

14. Matching Any Non-AlphaNumeric Character

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

• Example:

\W matches &, *, ^, %, $, and #.

15. Combining Regular Expression Operators

• You can combine regular expression operators in a single expression to achieve the

exact search criteria you need.

• Example,

start.* matches start, started, starting, starter, etc.

Regular Expressions

Page 13: 2.regular expressions

A SubMatches collection contains individual submatch strings .

Strings following the specified pattern will get stored in submatches collection when regular expression is executed.

Case Study: Verify the PATTERNS of email-ids.

Problem: Fetch submatch email-ids strings which follows the following the regular expression pattern "\w{6}.\w{6}@\w{9}.\w{3}“.

pgorantla.blogspot.com

Regular Expressions

Page 14: 2.regular expressions

Solution:

Create a regular expression using New.

Set the pattern using pattern property.

Execute search using Execute Method.

FirstIndex property- It uses a zero-based offset from the beginning of the search string .

Value property will give exact value at particular location.

For Each...Next StatementUsed to Repeats a group of statements for each element in an array or collection.

Patterns Property- It Sets or returns the regular expression pattern being searched for

pgorantla.blogspot.com

Page 15: 2.regular expressions

Used to change value of a property in a predictable way during each run session.

By default, the value of all Property objects added to a Properties collection are treated as regular expressions.

Use the RegularExpression property to change this setting for a specific Property object in the collection.

Syntax

PropertiesColl(Property).RegularExpression = BooleanSetting

Argument Type Description

Property Variant The property for which you want to specify the regular expression value. Specify the name of the property or

its position in the collection.

BooleanSetting Boolean The new value for the specified property.

Example The following example uses the RegularExpression property to set the value of the

PropName Property object as a literal value. set MyDesc = Description.Create() MyDesc("PropName").Value = PropValue

MyDesc("PropName").RegularExpression = FALSE

pgorantla.blogspot.com

Regular Expressions

Page 16: 2.regular expressions

We can set a new value for an existing Property object in the properties collection, or adds a new property object if the specified property name does not exist in the Properties collection.

For Example : If we want to change the name of userName WebEdit control to LoginName then following code should be added.

pgorantla.blogspot.com

Regular Expressions

Page 17: 2.regular expressions

Case Study

• Problem: Consider a site includes a form in which the user inputs data and clicks the Send button to submit the form.

• When a required field is not completed, the form is displayed again for the user to complete.

• When resubmitting the form, the user clicks the Resend button.

• Solution: Define the value of the button's name property as a regular expression, so that QuickTest ignores variations in the button name when clicking the button.

pgorantla.blogspot.com

Regular Expressions

Page 18: 2.regular expressions

Set the expected value of an object's property as a regular expression so that an object with a varying value can be verified.

When creating a text checkpoint to check that a varying text string is displayed on your Web site or application, you can define the text string as a regular expression.

Case StudyProblem : Check that every window and dialog box in the application contains the name of the application followed by a hyphen (-) and a descriptive title.

Solution : Add a checkpoint to each dialog box object in the test to check that the first part of the title contains the name of the application followed by a hyphen. .

pgorantla.blogspot.com

Regular Expressions

Page 19: 2.regular expressions

pgorantla.blogspot.com

• Problem: • Create a text checkpoint on a date text string that changes according to the selected flight

date.

• Solution:Define the date as a regular expression so that the checkpoint checks that the captured text string matches the expected format, rather than checking the exact text.

In the Active Screen, scroll up and highlight the date. Right-click the highlighted string and select Insert Text Checkpoint. The Text Checkpoint Properties dialog box opens.

Replace the current date with [0-1][0-9]/[0-3][0-9]/200[0-9].

This instructs QuickTest to check that each character in the selected text matches the number-range format defined by the regular expression.

Regular Expressions

Page 20: 2.regular expressions

Running and Analyzing a Test with Regular Expressions

Examine the checkpoint results.

The checkpoint passed because the text was displayed in the formatspecified by the regular expression

pgorantla.blogspot.com

Regular Expressions

Page 21: 2.regular expressions

• Problem: Consider a site includes a form in which the user inputs data and clicks the Send button to submit the form.

When a required field is not completed, the form is displayed again for the user to complete.

When resubmitting the form, the user clicks the Resend button.

• Solution: Define the value of the button's name property as a regular expression, so that QuickTest ignores variations in the button name when clicking the button.

pgorantla.blogspot.com

Page 22: 2.regular expressions

pgorantla.blogspot.com

Q & A….

Regular Expressions

Page 23: 2.regular expressions

Regular expressions enable QuickTest to identify objects and text strings with varying values.

We can use regular expressions when: Defining the property values of an object in dialog

boxes or in programmatic descriptions Parameterizing a step Creating checkpoints with varying values

Use the RegularExpression property to change this setting for a specific Property object in the collection.

pgorantla.blogspot.com

Regular Expressions