Overview of Smart Identification Process of QTP
If QTP activates the Smart Identification mechanism during a run session, it follows the following process to identify the object:
Step – 1: QTP “forgets” the learned test object description and creates a new object candidate list containing the objects that match all of the properties defined in the Base Filter Properties list.
Step – 2: QTP 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.
Step – 3: QTP evaluates the new object candidate list:
# If the new object candidate list still has more than one object, QTP 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, QTP 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 QTP concludes that it has identified the object and performs the statement containing the object.
Step – 4: QTP 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, QTP still cannot identify the object, then QTP 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 QTP stops the run session and displays a Run Error message.