As your application under test evolves, its objects may change. For example, the object ID or caption may change. If your tests use the changed properties for object identification, TestComplete will not be able to find the tested object during the test run.
When encountering an object it cannot find in a tested application, TestComplete will try to resolve the issue automatically by finding a similar object:
-
It will check all the objects on the same level of the hierarchy where the missing object resides. If the Extended Find is enabled, it will also check all the objects down the hierarchy levels.
-
It will check whether the mapping criteria of the missing object have been changed. TestComplete will search for similar objects among objects of the same class and type as the missing one.
-
Among all similar objects that TestComplete will find, it will select the one closest to the missing object by comparing them to the missing object’s screenshot that the Name Mapping repository stores (if any).
Depending on the Enable Self-Healing mode option (enabled by default), TestComplete will either use the found object to proceed the test run or report the “The Object Does Not Exist” error. In any case, after the test run is over, it will suggest that you update the object’s recognition criteria to match the found object:
In the test log, examine the suggested recognition criteria changes. If needed, examine the image of the found object to make sure that it is the right one.
Apply the suggested changes.
See Also
Update Name Mapping
About Name Mapping
Name Mapping Options Dialog
Handling the 'Object Does Not Exist' Error
Message - Object 'Object_Name' was replaced with a similar object