Below are the steps that will follow to identify a object-
Step 1- QuickTest first attempts to identify the test object using the object’s description properties.
Step 2- If QuickTest finds one or more objects matching the test object’s description and VRI is also defined then it attempts to identify the object using the visual relation identifier.
Step 3- After the visual relation identifier is applied, if no objects or more than one object is found, the visual relation identifier fails, and QuickTest continues to identify with Smart Identification (when defined for that test object class).
Step 4- If no VRI is defined and if no objects or more than one object is found after Smart Identification is applied, QTP will use Ordinal Identifier mechanism.
Visual Relation Identifier-
A visual relation identifier is a set of definitions that enable you to identify the object in the application according its neighboring objects in the application. You can select neighboring objects that will maintain the same relative location to your object, even if the user interface design changes. This enables you to help QuickTest in creating more stable object repositories that can withstand predictable changes to the application’s user interface.
One can define visual relations in the Visual Relation Identifier dialog box, which is accessible from the local or shared object repository, and from the Object Properties dialog box
Visual Relation Categories (Relation Details Area) Category Description-
1- Horizontal - enables you to define related objects according to their horizontal location relative to the object to identify. The following options are available:
➤ Left
➤ Right
➤ In line (horizontally)
2- Vertical- enables you to define related objects according to their vertical location relative to the object to identify. The following options are available:
➤ Above
➤ Below
➤ In line (vertically)
3- Distance and hierarchy- enables you to define related objects according to their distance or hierarchical location relative to the object to identify. The following options are available:
➤ Closest on the X-axis
➤ Closest on the Y-axis
➤ Closest on both axes
➤ Contains
Considerations for Working with Visual Relation Identifiers-
Consider the following when working with visual relation identifiers:
1- If you define a visual relation identifier for a test object, then that test object’s ordinal identifier (if it exists) is not used during the test object identification process.
2- If you add a related object that was not previously in the object repository, then the test object for the related object is added to that object repository.
3-Visual relation identifiers are used only during a run session, or when identifying objects in the application. Therefore, even if you define related objects for a specific test object, if QuickTest re-learns the object, it uses only the identification properties that are defined in the Object Identification dialog box for that test object class.
4- A test object cannot be used as a related object to itself.
5- If you delete a test object (A) that is used in the visual relation identifier for another test object (B), you must make sure to remove the deleted test object A from the Related Object list for test object B.
6- Visual relation identifiers are not supported for WebService test objects.
Ordinal Identifier-
An ordinal identifier assigns a numerical value to a test object that indicates its order or location relative to other objects with an otherwise identical description (objects that have the same values for all properties). This ordered value provides a backup mechanism that enables QuickTest to create a unique description to recognize an object when the defined properties are not sufficient to do so.
Note: When visual relation identifiers are used, the Ordinal identifier option is disabled in the Object Repository Manager or window.
QuickTest can use the following types of ordinal identifiers to identify an object:
Index- Indicates the order in which the object appears in the application code relative to other objects with an otherwise identical description.
Location- Indicates the order in which the object appears within the parent window, frame, or dialog box relative to other objects with an otherwise identical description.
CreationTime- (Browser object only.) Indicates the order in which the browser was opened relative to other open browsers with an otherwise identical description.
Smart Identification-
When QuickTest uses the learned description to identify an object, it searches for an object that matches all of the property values in the description. In most cases, this description is the simplest way to identify the object, and, unless the main properties of the object change, this method will work.
If QuickTest is unable to find any object that matches the learned object description, or if it finds more than one object that fits the description, then QuickTest ignores the learned description, and uses the Smart Identification mechanism (if defined and enabled) to try to identify the object.
The Smart Identification dialog box enables you to create and modify the Smart Identification definition that QuickTest uses for a selected test object class. Configuring Smart Identification properties enables you to help QuickTest identify objects in your application, even if some of the properties in the object’s learned description have changed.
The Smart Identification mechanism uses two types of properties:
Base Filter Properties- The most fundamental properties of a particular test object class; those whose values cannot be changed without changing the essence of the original object. For example, if a Web link’s tag was changed from <A> to any other value, you could no longer call it the same object.
Optional Filter Properties- Other properties that can help identify objects of a particular class. These properties are unlikely to change on a regular basis, but can be ignored if they are no longer applicable.
If QuickTest successfully uses Smart Identification to find an object after no object matches the learned description, the step is assigned a Warning status in the Run Results, and the result details for the step indicate that the Smart Identification mechanism was used.
Smart Identification Process-
If QuickTest activates the Smart Identification mechanism during a run session (because it was unable to identify an object based on its learned description), it follows the following process to identify the object:
1- QuickTest "forgets" the learned test object description and creates a new object candidate list containing the objects (within the object’s parent object) that match all of the properties defined in the Base Filter Properties list.
2- QuickTest filters out any object in the object candidate list that does not match the first property listed in the Optional Filter Properties list. The remaining objects become the new object candidate list.
3- QuickTest evaluates the new object candidate list:
If the new object candidate list still has more than one object, QuickTest uses the new (smaller) object candidate list to repeat step 2 for the next optional filter property in the list.
If the new object candidate list is empty, QuickTest ignores this optional filter property, returns to the previous object candidate list, and repeats step 2 for the next optional filter property in the list.
If the object candidate list contains exactly one object, then QuickTest concludes that it has identified the object and performs the statement containing the object.
4- QuickTest continues the process described in steps 2 and 3 until it either identifies one object, or runs out of optional filter properties to use. If, after completing the Smart Identification elimination process, QuickTest still cannot identify the object, then QuickTest uses the learned description plus the ordinal identifier to identify the object.
If the combined learned description and ordinal identifier are not sufficient to identify the object, then QuickTest stops the run session and displays a Run Error message.