Polaris Application Certification Enterprise QTP QTP 8.2 8.2 -- BASIC BASIC
Table of Contents Chapter 1
Introduction to QTP 8.2
2
Prepare to Record
14
3
Object Repository
36
4
Synchronization
51
5
Checkpoints
61
6
Parameters
83
7
Advanced Parameters
104
8
Create Test
127
9
Create Test (Web)
138
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
3
-2-
1. Introduction to QuickTest Professional
QuickTest Overview Using QuickTest Professional 8.2 the user can test standard Windows applications, Web objects, ActiveX controls and Visual Basic applications. The user can also acquire additional QuickTest add-ins for a number of special environments (such as Java, Oracle, SAP Solutions, .NET Windows and Web Forms, Siebel, PeopleSoft, Web services and terminal emulator applications) Using QuickTest Professional 8.2 the user can create the test script by simply clicking a record button and performing a typical business process in the application under test The user can parameterize the data and can use the test script for multiple test iterations, to expand test case coverage, delivering consistent test results without scripting or programming Using check-points in the test, the application properties and the functionalities can be verified. This feature helps to compare the expected result with the actual result Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
-4-
Which test cases to automate? Tests that need to be run for every build of the application (sanity level) Tests that use multiple data values for the same actions (data driven tests) Identical tests that need to be executed using different browsers Transaction with pages which will not change in short term More repetitive execution? Better candidate for automation
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
-5-
Which test cases not to automate? Usability testing (How easy is the application to use?) One-time testing Ad hoc/random testing (based on intuition and knowledge of application)
Improvisation required? Poor candidate for automation
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
-6-
Manual Vs. Automated Testing
Manual Testing
Automated Testing
Not reliable
Reliable
Time Consuming
Run unattended anytime
Hard to Repeat
Repeatable
Quality not assured
Quality would be assured
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
-7-
Features and Benefits of QuickTest Professional The Keyword driven technology in QTP 8.2 allows faster test creation, easier maintenance and more powerful data-driving capability Identifies objects with unique Smart Object Recognition, even if they change from build to build, enabling reliable unattended script execution Enables thorough validation complement of checkpoints
of
applications
through
a
full
Easily data-drives any data and output value via the Integrated Data Table Handles unforeseen application events with Recovery Manager
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
-8-
QuickTest Professional 8.2 – Keyword View ICON-BASED ICON-BASED KEYWORD KEYWORD VIEW VIEW Business analysts Business analysts and and new new users users can can quickly quickly generate automated tests with no generate automated tests programming programming code code
DATA DATA TABLE TABLE Different Different data data can can be be used used to to run run one one test test (instead (instead of of manually manually running tests repeatedly) repeatedly)
ACTIVE ACTIVE SCREEN SCREEN Object Object verification verification can be be defined from the interactive screen from the interactive screen recreations recreations
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
-9-
QuickTest Professional 8.2 – Expert View
EXPERT EXPERT VIEW The The experts experts can can edit edit VBScript VBScript according according to to the the requirement requirement
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 10 -
Add-In Manager and Environment Setup
To test applications in different environments the respective Add-In needs to be loaded. Appropriate software for the Add-In should be installed before launching QTP. then only the Add-In will appear under the Add-In Manager’s list If the required add-in is not loaded, objects in the AUT will not be recognized by QTP Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 11 -
QuickTest Professional Resources Books Online (After QTP installation) QuickTest Professional Tutorial QuickTest Professional Help Printer-friendly Documentation
Web site http://www.mercuryinteractive.com
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 12 -
Summary Through QuickTest Professional 8.2 the test automation is more efficient and effective More repetitive execution is the best candidate for automation The Keyword view helps the business analysts and new users to generate automated tests easily There are many resources available through which the assistance on QuickTest Professional can be obtained
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 13 -
2. Prepare to Record
Lesson Objectives On completion of this chapter, you will be able to do the following – Determine the test requirement Extract information that will be used to create basic test script Prepare the test environment Distinguish the types of data to be used Record the script
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 15 -
QuickTest Workflow Prepare the automated test environment
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 16 -
Planning - Document Business Process Properties Obtain necessary information to create tests: User Actions Expected Result of each user action Valid data to use Alternate path and optional screens Plan the initial and end conditions for the test Possible exceptions
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 17 -
Steps to prepare Automation Testing Verify that the application under test is stable and ready for testing Verify the test case and list the steps in the correct order Verify the test data to be used to record the basic steps Verify the testing environment standards are adhered to Verify the QuickTest and the add-ins , if any, are installed and running without errors
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 18 -
Training Applications Windows Application
Web Application
A sample Flight Reservation windows application and Mercury Tours web application are automatically installed when QTP 8.2 is installed Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 19 -
Launch QuickTest Select Add-ins Set QuickTest Options Set the appropriate Record and Run settings Record the script
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 20 -
Launch Flight Reservation Application
The Navigation path is : Start Programs Quick Test Professional Sample Applications Flight
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 21 -
QuickTest Add-in Manager without Java Add-In On start up of QTP the Add-In Manager screen will pop up. By default, the following Add-Ins will be available- Active X - Visual Basic - Web
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 22 -
Record & Run Settings without Java Add-In
For each Add-in that was selected a separate tab appears in Test Record and Run Settings. Both Visual Basic and ActiveX fall under Windows Applications
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 23 -
QuickTest Add-in Manager with Java Add-In The optional Add-Ins available are- Java - .Net - Oracle - Smalltalk - SAP - Siebel - TE 8.0 - PeopleSoft - Stingray
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 24 -
Record and Run Settings with Java Add-In
A new tab is added for the Java Add-In Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 25 -
QuickTest - General
Select the check boxes “Display Add-In Manager” & “Display Welcome Screen” in Tools Options General to view the Add-In Manager and Welcome screens on start up Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 26 -
QuickTest - Run
- To get the execution arrow appear to help with troubleshooting click “Normal” in Tools Options Run - To view the Test Results after each test run select “View Results” option in Tools Options Run
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 27 -
QuickTest – Record and Run Settings
- It is recommended to select the option “Record and Run test on any open Window based application” - This option should be used, when recording in the middle of an existing test Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 28 -
Launch and Record on a specified Application
“Record and Run on these Applications” option starts a new instance of the application when recording is started, the .exe path needs to be specified Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 29 -
Determine the type of data to be used Three types of test data are: Master Data - Fixed data about products or users, deposited in the database or application User-Generated Data - Editable data used to complete a business transaction External Data - Data that is created and consumed during a test execution
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 30 -
Determine the type of data to be used
Master Data
UserGenerated Data
External Data
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 31 -
Recording Types Standard Recording : Enables you to record in normal mode without capturing mouse events & co-ordinates Analog Recording : Enables you to record the exact mouse & keyboard operations. Quick Test tracks every movement of the mouse Low Level Recording : Enables you to record on any object whether or not Quick Test recognizes the specific object . This mode of recording is used if the exact co-ordinates of the object is important
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 32 -
Summary Gather relevant information for test Record the basic test General Test Settings Record and Run Settings Determine the type of data to be used Three types of recording
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 33 -
QTP – Training Exercise - Basic Chapter 2 - Prepare to Record PrepareToRecord_S1 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Change the Recording mode to "Low Level" in "Test --> Low Level Recording" 4 Enter the UserName & Password as "polaris" & "mercury" respectively 5 Click "Cancel" 6 Stop Recording & Save the test as PrepareToRecord_S1 PrepareToRecord_C1 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Insert a new Order by giving valid data in all the fields 6 Set the Final condition in Flight Reservation Window by clicking the "New Order" button 7 Select File --> Exit in Flight Reservation window to exit from the Application 8 Stop Recording & Save the test as PrepareToRecord_C1
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 34 -
QTP – Training Exercise - Basic Chapter 2 - Prepare to Record PreparetoRecord_C2 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Open an existing order by clicking the open order button 6 Fax the order by clicking File --> Fax Order 7 Enter the Fax Number 8 Change the Recording mode to "Analog" in "Test --> Analog Recording" 9 Select "Record relative to the following window" & select the "Fax Order" window 10 Click "Start Analog Record" & capture the signature. 11 Send the Fax 12 Set the Final condition in Flight Reservation Window by clicking the "New Order" button 13 Select File --> Exit in Flight Reservation window to exit from the Application 14 Stop Recording & Save the test as PreparetoRecord_C2Analog
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 35 -
3. Object Repository
Lesson Objectives On completion of this chapter, you will be able to do the followingDefine the object in QuickTest Professional Describe how objects are recognized by QuickTest Professional Describe the role of the Object Repository Use the Object Repository to find and add objects Change object logical names using the Keyword View
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 37 -
QuickTest Professional Workflow Use Object Repository
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 38 -
Object Types Button Dropdown List
Edit Box Radio Button
- A QTP Object is a graphic user element in an application interface. E.g. button, dropdown list - QTP by itself does not define any object information. Instead it uses the same information created by the application developers - Objects are categorized into classes. E.g. Buttons, text fields, graphic images Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 39 -
Object Recognition
- In the interface given above, we will take up the following 3 buttons for discussiona)
Update Order
b)
Delete Order
c)
Insert Order
- The only way to distinguish between two objects of same class is by looking at their Object Properties - Specific characteristics of an object is called Object Property
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 40 -
Object Repository Test Object information is stored in the Object Repository
The Object Repository dialog box displays a tree of all objects in the current component or in the current action or entire test Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 41 -
Working with Objects Dropdown List Enabled Height Width Y Window id Item Count
Focused Text X Abs_x All Items Selection
Edit Field Enabled Height Width Y Hwnd Reexpwndtitle
Focused Text X Abs_x NativeClass Visitble
Radio Button Enabled Height Width Y Window id Hwnd
Focused Text X Abs_x Checked NativeClass
QuickTest identifies objects in your application based on a set of test object properties. It stores the object data it learns in to the Object Repository Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 42 -
Assigning and Modifying a Logical Name
When you want to make the object’s logical name more descriptive to give clarity to the test script, you can modify the object’s logical name in the object repository Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 43 -
Steps To Change a Logical Name 1
2
3
- Right click on the object in keyword view to change the logical name - Select Object Properties option - Click Repository button in the Object Properties dialog box.Object Repository Dialog box should be opened - Select the object you want to rename and right click on the object - Select rename option and change the Logical Name Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 44 -
Object Repository
- QTP’s Object Repository stores properties of the objects during recording.These objects are called as test objects which is used by QTP to identify the objects in the AUT during runtime - To open Object Repository dialog box, Navigate to Tools Object Repository Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 45 -
Object HighLight Feature
- Object highlight feature is used to highlight the particular object to check whether QTP can identify that object when object description is changed - The window which contains particular object should be available to QTP,to use this feature - Select any one object in object repository,then click Highlight button.Now the object in the application is highlighted by showing a frame around the object temporarily and causing it to flash for sometime Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 46 -
Object Repository Setting
- There are two types of object repository : a) Per-Action b) Shared - Object repository type can be set in Test Settings Resources tab of the QTP Note : These modes will be explained in detail in Advanced Chapters Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 47 -
Summary – The object and the object properties in QuickTest Professional – The method in which the objects are recognized by QuickTest Professional – The importance of Object Repository file
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 48 -
QTP – Training Exercise - Basic Chapter 3 - Object Repository ObjectRepository_S1 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Find the properties for the following Objects a. Flights - Class, Native Class b. Fly To - Class, Native Class c. Name - Class, Attached Text 6 Set the Final condition in Flight Reservation Window by clicking the "New Order" button 7 Select File --> Exit in Flight Reservation window to exit from the Application 8 Stop Recording & Save the test as ObjectRepository_S1
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 49 -
QTP – Training Exercise - Basic Chapter 3 - Object Repository ObjectRepository_S2 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Change the Logical Name of the following objects meaningfully in ObjectRepository and run the test. a. Agent Name editbox b. Fly From listbox c. Name editbox 6 Set the Final condition in Flight Reservation Window by clicking the "New Order" button 7 Select File --> Exit in Flight Reservation window to exit from the Application 8 Stop Recording & Save the test as ObjectRepository_S2
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 50 -
4. Synchronization
Lesson Objectives On completion of this chapter, you will be able to do the followingDefine synchronization Add a synchronization point in the test script Describe when and where to use synchronization
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 52 -
Quick Test Professional Workflow Add Synchronization
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 53 -
What is Synchronization ? Synchronization is an enhancement to a test, to instruct QTP to wait for a state of a property on a particular object to change, before advancing to the next step in the test Synchronization point allows the test to pause while the AUT processes, before moving on to the next step Just as a manual tester waits for a visual cue to know whether the AUT completed its processing, we need to instruct QTP to wait for a cue while processing and then continue with the steps
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 54 -
Where Synchronization should be added Some objects may take several seconds longer than other objects due to processing time, for example: For a For a For a For a
progress bar to reach 100% status message to appear button to become enabled window or pop-up message to open
On the other hand, Quick Test runs each step in the same length of time An “Object not enabled” message appears if Quick Test runs a step and progresses to the next while the previous step is not yet complete
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 55 -
Synchronization – Example
- In the Mercury Flight Application Interface what objects are best candidates for being a synchronization point ? - Progress bar, Insert Order button, Flights button Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 56 -
Step to add a Synchronization point
- To add a synchronization point, do the followingSelect Menu Insert Step Synchronization Point - Add the synchronization point immediately after the step to be synchronized Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 57 -
Synchronization point settings
Global Timeout
Sync Step Timeout
When the synchronization timeout is set for a step, this value is added to the global timeout value. Global Timeout + Sync Step Timeout = Total Maximum Timeout Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 58 -
Summary Some objects in a test script require processing time Instruct QuickTest to wait for these objects with a synchronization step Identify the object property you will use to synchronize the step in your test
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 59 -
QTP – Training Exercise - Basic Chapter 4 - Synchronization Synchronization_C1 1 Change Global Object Synchronisation Timeout to 3000 milliseconds 2 Open a new test & start recording 3 Invoke Flight Reservation Window Application 4 Enter the UserName & Password as "polaris" & "mercury" respectively 5 Include Synchronization point for the visibility of the Flight Reservation screen 6 Enter valid data in all the Mandatory field in Flight Reservation screen 7 Click the Insert Order button 8 Include Synchronization point for the Successful insertion of the record 9 Click the Delete Order button 10 Include Synchronization point for the Successful deletion of the record 11 Select File --> Exit in Flight Reservation window to exit from the Application 12 Stop Recording & Save the test as Synchronization_C1 13 Script will Fail Due to Timeout Settings 14 Change Global Object Synchronisation Timeout to default 20000 milliseconds and run the Script again
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 60 -
5. Checkpoint
Objectives On completion of this chapter, you will be able to do the following Define Checkpoint Explain the types of the Checkpoint Validate test success by using standard checkpoint Set checkpoint on a single object property Define a regular expression & Characters used Analyze Test Results Add a comment to a step
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 62 -
QuickTest Professional Workflow Insert Checkpoints
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 63 -
What is Checkpoint? A checkpoint is a specialized step in QuickTest that compares two values and reports the result The Checkpoint value can be from one of the object properties QuickTest will compare actual results from the test run with expected result If the two values match, then checkpoint will pass; otherwise the checkpoint will fail
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 64 -
Visual cues
A checkpoint is a verification statement that verifies the result or information displayed on the AUT that indicates the system is functioning as expected. Here the “Insert Done” & “Flight No:” are the Visual Cue
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 65 -
Checkpoint Types
Navigation Path : Select Menu Insert Checkpoint Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 66 -
Checkpoint - Run Time and Design Time Run Time (while recording)
Design Time
Standard Checkpoint Database Checkpoint Text XML Checkpoint (File) Textarea Bitmap Database Accessibility XML Checkpoint (Webpage / Frame) XML Checkpoint (File)
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 67 -
Standard Checkpoint
In the Checkpoint Properties dialog box, you can specify which properties of the object to check and edit the values of these properties
-To navigate to Checkpoint properties dialog , go to Insert CheckPoint Standard Checkpoint click the object for which the Checkpoint has to be set - Select the object in “Object Selection – Checkpoint Properties” dialog Click OK Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 68 -
Insert a Checkpoint From The Active Screen
- Right Click on the object to which Checkpoint has to be set in Active Screen - Select “Insert Standard Checkpoint” Select the Object - Select the properties to be checked Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 69 -
A Passed Checkpoint
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 70 -
A Failed Checkpoint
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 71 -
A Constant Checkpoint Value
If the checkpoint value is configured as constant, for all the runs the checkpoint value will remain the same and it will be compared during the test run Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 72 -
A Variable Checkpoint Value
To allow any values generated by the application for the property we have set for the checkpoint, use variable checkpoint (Regular Expression)
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 73 -
Variable Checkpoint Contd…
-To set variable checkpoint (from Data Table) for “Fly_From” click “Parameter” in Checkpoint properties Click “Parameter Options” - Select Datatable Field Name Click Ok Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 74 -
Variable Checkpoint Contd…
The checkpoint for Fly_From is set in the Data Table Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 75 -
Regular Expression A regular expression is a string that implements a complex search phrase By using special characters we can define the conditions of search
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 76 -
Regular Expression - Example
A Regular Expression to check whether the value is a 2 digit number
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 77 -
Some Regular Expressions Expression
Character
Description
Period
.
Matches any single character
Asterisk
*
Matches zero to any number of occurrences of the preceding character
Plus
+
Matches one to any number of occurrences of the preceding character
Brackets
[A-Z][a-z] [0-9]
Matches a range of characters Matches a range of numbers
Digit
\d
Matches any digit
\d{4}
Matches exactly four digits
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 78 -
Adding Comment
- Tools KeyWord View Options Move the “Comment” field from Available Columns to Visible Columns Click OK - Right Click on the Header field of the KeyWord view & select the “Comment” field form the drop down list
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 79 -
Summary – Checkpoint compares two values and report the result – Standard checkpoint can be included from the Active Screen – Regular Expression enables QuickTest to identify objects and text strings with varying values – Regular Expressions can be used only for type string
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 80 -
QTP – Training Exercise - Basic Chapter 5 - CheckPoint CheckPoint_S1 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Insert a new order 6 Insert a Text Checkpoint from Active Screen for the "Insert Done…" text 7 Set the Final condition in Flight Reservation Window by clicking the "New Order" button 8 Select File --> Exit in Flight Reservation window to exit from the Application 9 Stop Recording & Save the test as CheckPoint_S1
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 81 -
QTP – Training Exercise - Basic Chapter 5 - CheckPoint CheckPoint_C1 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Insert a new Order 6 For the order number that is generated dynamically, set a check point. Note : Use Regular Expressions for inserting the check point to Order Number 7 Set the Final condition in Flight Reservation Window by clicking the "New Order" button 8 Select File --> Exit in Flight Reservation window to exit from the Application 9 Stop Recording & Save the test as CheckPoint_C1
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 82 -
6. Parameterization
Objectives On completion of this chapter,you will be able to do the followingDescribe and use multiple parameter types Drive data in multiple iterations Analyze errors during test execution Parameterize a checkpoint
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 84 -
QuickTest Professional Workflow Data Drive the Test
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 85 -
Types of Parameters Action parameter Data table parameter Other parameter types: Random Number Environment
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 86 -
Input Parameters For Data Driven Tests Create a new test for each set of data?
Create one data-driven test that uses a data source
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 87 -
Data Table
- Data table has two sheets - Global Sheet - Local Sheet - The data from global sheet can be accessed by any action - The data from local sheet can be accessed only by a single action Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 88 -
Steps To Create An Input Parameter
- Click on the parameterize button provided in the recorded input value column - Value Configurations dialog box will open
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 89 -
Supply Data To The Parameter from global sheet
- Select Parameterize Radio button in the Value Configurations dialog box - Select the Datatable option and give a meaningful name to the column in the “Name” box - Select any Global sheet option in the “Location in Data Table” option and click OK button - Column will be created in the Global sheet from which we can pick the values
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 90 -
Set Number of Iterations
- Navigate to Test Settings Run - Number of iterations can be set in Data Table iterations column.The possible values are - Run one iteration only - Run on all rows - Run for particular number of rows Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 91 -
Verify The Test Run
Expand the Test results tree to verify that each row of data from Data table was used during RunTime Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 92 -
Steps To Create An Output Parameter
Right click
- To create an output parameter,right click on the object in Active Screen from which you want to make output - Select Insert Output value - Select Corresponding object in Object selection – Output value properties dialog box and click OK.Output value properties dialog box will open Copyright Polaris Software Lab Limited, - Select the the property which you want as output value and2005. click OK Confidential. Not to be republished without prior consent.
- 93 -
Parameterize A Checkpoint
- We can make Checkpoints dynamic by parameterizing expected value - To parameterize checkpoints we can use data table(will be discussed further in chapter 7) Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 94 -
Random Number – Input Parameter
- We can use Random number parameter for parameterization by specifying the number range - For every iteration QTP itself generate one random number between the number range we specified. This numbers can be duplicated Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 95 -
Environment Parameters
- We can use Environment variables for Parameterization - The Environment Variables could not be system variables or OS variables Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 96 -
Types Of Environment Variables User-Defined-Internal User-Defined External Built-In
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 97 -
User-Defined Variables
Load external file for external type variables
- Navigate to Test Settings Environment - Select Variable Type as User-Defined - User can define his/her own environment variable.Two types of User-Defined variables are there - Internal : Applicable for that particular test only - External : Applicable for any number of tests
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 98 -
Built-In Variables
- Navigate to Test Settings Environment - Select Variable type as Built-in - QTP itself has some of the inbuilt variables.These values are read only Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 99 -
Summary Data table is mainly used for parameterization No of iterations mainly depends on the Test settings Checkpoints can also be parameterized Random Number Parameters and Environment variables also used for parameterization
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 100 -
QTP – Training Exercise - Basic Chapter6 - Parameterization Parameterization_S1 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Insert an new order 6 Parameterize the value for Name 7 Include 4 names in the Global sheet. 8 Set the Final condition in Flight Reservation Window by clicking the "New Order" button 9 Select File --> Exit in Flight Reservation window to exit from the Application 10 Stop Recording & Save the test as Parameterization_S1 11 Run the test for 4 iterations
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 101 -
QTP – Training Exercise - Basic Chapter6 - Parameterization Parameterization_S2 1 Open a new test & start recording In Action1 do the following steps 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively In Action2 do the following steps 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Insert an new order 6 Parameterize the value for Name 7 Include 4 names in the Local sheet. 8 Set the Final condition in Flight Reservation Window by clicking the "New Order" button 9 Iterate only Action2 for 3 times.Remaining actions should run only one iteration. In Action3 do the following steps 10 Select File --> Exit in Flight Reservation window to exit from the Application 11 Stop Recording & Save the test as Parameterization_S2
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 102 -
QTP – Training Exercise - Basic Chapter6 - Parameterization Parameterization_C1 1 Open a new test & start recording In Action1 do the following steps 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively In Action2 do the following steps 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Insert an new order 6 Output the order number in Global sheet. 7 Set the End condition in Flight Reservation Window by clicking the "New Order" button In Action3 do the following steps 8 Open the order which is created in Action2 by getting the order Number. 9 Update the Number of tickets. 10 Set the End condition in Flight Reservation Window by clicking the "New Order" button 11 Select File --> Exit in Flight Reservation window to exit from the Application 12 Stop Recording & Save the test as Parameterization_C1
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 103 -
7. Advanced Parameter Concepts
Lesson Objectives On completion of this chapter, you will be able to do the followingUse different types of parameterization (i.e. object properties, checkpoint properties) Output values to the data table Use the data table object to manage data during run-time
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 105 -
Defining a Data Table Parameter
Select the script for which parameterization needs to be done Confirm that the Active Screen option is enabled Confirm that the Data Table option is enabled Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 106 -
Defining a Data Table Parameter – Contd…
Select the text to parameterize. In the Keyword View, click on the Value cell and then click the parameterization icon. The Value Configuration Options dialog box opens Set the parameterization properties. Select the Parameter radio button. This lets you replace the constant value with a parameter. Confirm that the Data Table option is selected. This means that the value of the parameter will be taken from the Quick Test Data Table Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 107 -
Defining a Data Table Parameter – Contd..
QuickTest adds the new parameter to the Data Table as a new column and inserts default value in the first row under it. This default value will be the first of several values that QuickTest will use during test runs of the application When you click the Value cell in Keyword View, the following information is displayed, indicating that the value is parameterized using a Data Table parameter called FlyFrom Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 108 -
Checkpoint Parameterization Parameterizing the value of a checkpoint property enables you to check how an application or a Web site performs the same operation based on different data Parameterizing the expected values, make the checkpoints Dynamic If a checkpoint is dependent on an input value that has been parameterized, checkpoint can be linked to the input value parameter
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 109 -
Checkpoint Parameterization – Contd…
Locate the text checkpoint to modify. Right-click and select Checkpoint Properties, the Text Checkpoint Properties dialog box opens Select the property to be parameterized in the Checkpoint properties window. Select the Parameterize option and select the column of the data table to parameterize the checkpoint Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 110 -
Checkpoint Parameterization – Contd..
Click the Parameter Options button. The Parameter Options dialog box opens In the Name box, select parameter in data table. This instructs the checkpoint to use the parameter values in the Data Table for the expected results The checkpoint is now parameterized
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 111 -
Method arguments Parameterization
Navigation Path : Select Menu Tools Data Driver The Data Driver enables you to quickly parameterize Property values for test objects Checkpoints Method arguments containing the same constant value within a given action Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 112 -
Method arguments Parameterization – Contd…
You can choose to replace all occurrences of a selected constant value with a parameter, in the same way that you can use a Find and Replace All operation instead of a step-by-step Find and Replace process. Quick Test can also show you each occurrence of the constant so that you can decide whether or not to parameterize the value Note: You cannot use the Data Driver to parameterize the values of arguments for user-defined methods or VBScript functions Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 113 -
Advanced Data Table Capabilities Formulas E.g. Sum of two columns (A1+B1)
Functions String manipulations Date/Time
Encrypted Data Parameterize the password field, then encrypt it for security
Export/Import data to and from external files Data Table scripting
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 114 -
Using Formulas to Create Parameterized Data
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 115 -
Using Parameters in Operation Value When working with tests, the Data Table has two types of data sheets: Global Action (Local)
You can access the different sheets by clicking the appropriate tabs below the Data Table Store data in the Global tab Store data in the action's tab
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 116 -
Output Value You can also retrieve data from your application and output it to the Data Table, using output values During run-time, QTP takes the current value of the specified property and enters it in the run-time data table Output values are created dynamically and exist only at run time QuickTest displays the retrieved data, following the test run, in the Runtime Data Table in the Test Results Window
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 117 -
Creating an Output Value
Select the text you want to use as an output value In the Active Screen, Select the OrderNo field, Right-click and select Insert Text Output. The Text Output Value Properties dialog box opens Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 118 -
Creating an Output Value – Contd..
Set the output value settings Click the Modify button to open the Output Options dialog box The Name box displays Order_No_text_out. Change this to Order_No QuickTest adds the Order_No column to the Data Table Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 119 -
Viewing and Editing Output Values The output value statement is displayed in the Expert View with the following syntax: • Object.Output
• View or edit the output value or its details in the relevant Output Value Properties dialog box, by right-clicking the step in the Keyword View or Expert View and choosing Output Value Properties.
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 120 -
Data Table in the Test Results During the run session: QuickTest creates a run-time Data Table QuickTest displays the run-time data in the Data Table pane so that you can see any changes to the Data Table as they occur (this will disappear once the script finishes running)
When the run session ends: The run-time Data Table closes The Data Table pane displays the stored design-time Data Table The final data from the run-time Data Table is displayed in the RunTime Data Table in the Test Results window
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 121 -
Run-Time Table After Playback
Output values after a test run are located in the runtime data table in the test results window Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 122 -
List of Associated Data Table Methods AddSheet Method
GetSheetCount Method
DeleteSheet Method
Import Method
Export Method
SetCurrentRow Method
GetCurrentRow Method
SetNextRow Method
GetRowCount Method GetSheet Method
SetPrevRow Method
Note: All methods performed on datatable object apply to the run-time dataTable object only.Changes to the run-time DataTable object are reflected in the test results, but the design-time Data Table is not affected.
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 123 -
Summary Use different types of parameterization (i.e. method arguments, object properties, checkpoint properties.) Output values to the data table Use the data table object to manipulate data during run-time
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 124 -
QTP – Training Exercise - Basic Chapter 7 - Advance Parameterization AdvanceParam_S1 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Enter the Data of flight 6 Select the Fly From and insert a Text checkpoint for verification of the Text selected 7 Enter the valid data in other fields and insert the order 8 Include Synchronization whereever applicable 9 Set the End condition in Flight Reservation Window by clicking the "New Order" button 10 Select File --> Exit in Flight Reservation window to exit from the Application 11 Stop Recording & Save the test as AdvanceParam_S1 12 Parameterize the Fly from Field and include data's in the datatable 13 Parameterize the Fly to Field and include data's in the datatable 14 Update the "Fly from" Checkpoint Value with parameterised "Fly from" Field 15 Run the test for atleast 3 iterations
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 125 -
QTP – Training Exercise - Basic Chapter 7 - Advance Parameterization AdvanceParam_C1 1 Open a new test & start recording 2 Invoke Flight Reservation Window Application 3 Enter the UserName & Password as "polaris" & "mercury" respectively 4 Set the Initial condition in Flight Reservation Window by clicking the "New Order" button 5 Include Synchronization whereever applicable 6 Output the Order No.in a column of the datatable 7 Click Open order and enter the same order no that has been created 8 Click update Order 9 Parameterize the Order No field in Open order screen to Output Value 10 Create a New Sheet in Datatable 11 Add a Parameter "Order_No" in Newly Added Sheet 12 Assign the Inserted Order Number to Parameter "Order_No" 13 Export the Datatable in Excel 14 Note:Exported Excelsheet should contain newly Added Sheet with Parameter its Value 15 "Order_No" Set the Endand condition in Flight Reservation Window by clicking the "New Order" button 16 Select File --> Exit in Flight Reservation window to exit from the Application 17 Stop Recording & Save the test as AdvanceParam_C1
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 126 -
8. Create Test
Objectives On completion of this chapter, you will be able to do the following – Create a basic test from a manual test case Run a test and check for errors Store the test file Discuss the importance of initial and end conditions
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 128 -
QuickTest Professional Workflow Create a Basic Test
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 129 -
Record User Actions
- QTP should be launched before the AUT is invoked - Once the “Record” button is clicked, QuickTest listens and records the activities Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 130 -
Recorded User Actions – Basic Test
Each selected step in the Tree View highlights the captured object in the Active Screen Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 131 -
Test Structure QuickTest creates a directory structure for each saved test Action1 contains log of user actions
Test Action0 Action1
Action0 invokes Action1 Script.mts
Lock file allows only one user to access an open test Other internal QuickTest files Default.xls is the Run Time Data Table in Quick Test
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
Default.xls Lock.lck _Test.usr
- 132 -
Verify Correct Playback
Use the ‘Run’ button to begin playback from the first step Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 133 -
Test Results Location
- New Run Results Folder: Results will be stored in Results folder inside the test for documentation - Temporary Run Results Folder: Results are stored in temporary location for debugging which is over written each time Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 134 -
Viewing the Test Results
- Expand the Test Results Tree to see the outcome of each step - Navigate to the child step that shows the Result
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 135 -
Best Practice: Setting Initial and End Conditions Open a record
Submit Information
Insert New Sale
Update Record
Edit information Input Data
Update Record
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 136 -
Summary Record the basic test Verify the correct playback Store the test result file Analyze the test result Identify the initial and end conditions
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 137 -
9. Create Test on Web Application
Objectives On completion of this chapter,you will be able to do the followingUse of proper Add-In to recognize Web objects View Object properties Notice synchronization differences Use Text/Text Area Checkpoints
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 139 -
Web Add-In
- When the Add-in Manager dialog box opens,ensure Web checkbox is selected for proper recording of the web applications Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 140 -
Record and Run Settings
- Navigate to Test Record and Run settings - In Record and Run settings dialog box select Web tab - Two options are there in Web tab - Record and run test on any open Web browser - Open the following browser when a record or run session begins Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 141 -
Launch Mercury Tours Web Application
The Navigation path is : Start Programs Quick Test Professional Sample Applications Mercury Tours Web Site
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 142 -
The Sample Web Application
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 143 -
Key Word view after recording
- One obvious difference in object class between windows and the web is the existence of web browsers and web frame Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 144 -
Viewing Web Object Properties – 1St method
- Navigate to Tools Object Repository - Select any one Web object - The properties corresponding to that object will be displayed in rightside of the object repository dialog box Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 145 -
Viewing Web Object Properties – 2nd method
- Right click on the object for which you want to see the object properties - Click Object Properties option.Object properties dialog box will open - The properties corresponding to that object will be displayed in the object properties dialog box Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 146 -
Synchronization
- QTP automatically inserts synchronization statement at the last step of the web frame object for proper synchronization - This scenario will not happen in environments other than web - In other environments we have to manually insert synchronization step Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 147 -
Text/Text Area Checkpoints
- Text/Text Area Checkpoint Checks that a text string is displayed in the appropriate place in a Web page or application window - Text checkpoints can be created while recording or after recording - During recording you can use the navigation path InsertCheckpointText/Text Area CheckPoint - After recording in the active screen right click on the object you want to check and select Insert Text CheckPoint Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 148 -
Summary Add-in Manager is used to select the proper add-ins required for the test Object repository is used to identify which properties of an object is captured while recording QTP automatically inserts synchronization lines for web applications Text/Text Area checkpoint used to identify the particular text is displayed within the page
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 149 -
QTP – Training Exercise - Basic Chapter 9 - Create Test_Web Web_S1 1 Open a new test & start recording 2 Launch the mercury tours application 3 Login to the application 4 Select the default values displayed in the flight finder page and click continue. 5 Select the default values displayed in the select flight page and click continue. 6 Fill the mandatory fields displayed in the Book a flight page and click secure purchase. 7 Click Logout in the Flight confirmation page. 8 Stop Recording & Save the test as Web_S1
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 150 -
QTP – Training Exercise - Basic Chapter 9 - Create Test_Web Web_C1 1 Open a new test & start recording 2 Launch & Login to the application 3 Parameterize the Depaure city and Arrival city and Select the default values displayed the remaining in displayed the flight finder and click continue. 4 for Select the defaultfields values in thepage select flight page and click continue. 5 Check whether the selected departure city is displayed in the Book a flight page. 6 Fill the mandatory fields displayed in the Book a flight page and click secure purchase. 7 Click Logout in the Flight confirmation page. 8 Stop Recording & Save the test as Web_C1
Copyright Polaris Software Lab Limited, 2005. Confidential. Not to be republished without prior consent.
- 151 -
Thank You
Contact :
[email protected]