- QTP Tutorial
- QTP - Home
- QTP - Introduction
- QTP - Test Automation
- QTP - Environment Setup
- QTP - Record and Play Back
- QTP - Object Repository
- QTP - Actions
- QTP - DataTables
- QTP - Checkpoints
- QTP - Synchronization
- QTP - Smart Identification
- QTP - Debugging
- QTP - Error Handling
- QTP - Recovery Scenarios
- QTP - Environment Variables
- QTP - Library Files
- QTP - Test Results
- QTP - GUI Objects
- QTP - Virtual Objects
- QTP - Accessing Databases
- QTP - Working with XML
- QTP - Descriptive Programming
- QTP - Automation Object Model
- QTP - Frameworks
- QTP - Designing a Framework
- QTP Useful Resources
- QTP - Questions and Answers
- QTP - Quick Guide
- QTP - Useful Resources
- QTP - Discussion
QTP - Ordinal Identifiers
Sometimes, there are series of objects with same class name and properties. Let us say, in a window, there are series of checkboxes with the same set of properties. If we want to act on those objects, we need to uniquely identify them so that QTP will be able to act on it.
An Ordinal Identifier assigns a numerical value to the test objects, which indicates its location or order relative to its group. The Ordered value enables QTP to recognize it uniquely when the inbuilt properties are NOT sufficient to do so.
There are three Ordinal Identifiers in QTP that can be used in different context −
- Index
- Location
- Creation Time
Index
An object appearing first in the page/Window will have a smaller Index value when compared to another object that comes later in the same page/Window.
The value of index for the group of text boxes will be as follows −
Object Name | Index Value |
---|---|
TextBox 1 | 0 |
TextBox 4 | 1 |
TextBox 2 | 2 |
TextBox 5 | 3 |
TextBox 3 | 4 |
TextBox 6 | 5 |
Location
The Location property works vertically from top to bottom and from left to right. Hence, for the same case, the value of location for the group of text boxes will be as follows −
Object Name | Index Value |
---|---|
TextBox 1 | 0 |
TextBox 2 | 1 |
TextBox 3 | 2 |
TextBox 4 | 3 |
TextBox 5 | 4 |
TextBox 6 | 5 |
Creation Time
The Creation Time property holds good only for web based application. When we open two browser sessions of the same website, QTP will not be able to recognize the window, as both the windows will have the same set of properties. Hence, we can use creation time with which QTP will be able to act on the window.
'Will have CreationTime value = 0 SystemUtil.Run "iexplore.exe", "http://www.google.com" 'Will have CreationTime value = 1 SystemUtil.Run "iexplore.exe", "http://www.yahoo.com" 'Will have CreationTime value = 2 SystemUtil.Run "iexplore.exe", "http://www.microsoft.com" 'Will have CreationTime value = 3 SystemUtil.Run "iexplore.exe", "http://www.facebook.com"
Hence, to work on a specific browser, we need to explicitly mention the Creation time in OR or we can use the description of objects, which we will see in detail in descriptive programming section.
'Sync's www.google.com Browser("creationtime:=" ).Sync 'Gets the RO text property of www.yahoo.com Browser("creationtime:=1").GetROProperty("text") 'Highlights microsoft.com Browser("creationtime:=2").Highlight