When to UFT UI Automation support
Use UFT UI Automation support as follows:
Create tests exclusively of UI Automation test objects
Mix UI Automation objects and regular test objects (such as WPF, or Windows Forms)
Use UI Automation support only when regular object identification is no sufficient for your testing needs.
For example, use UI Automation support in the following scenarios:
When UFT's regular object identification support is not sufficient for testing your application
Because UFT identifies UI Automation objects based on Control Types and supported patterns, the object identification can differ from other standard Windows-based object identification.
This can mean:The test object hierarchy might be different
Because objects are identified by UFT from a mapping of Control Type to a specific test object, the types and relations between objects can be very different.
For example, when viewing the learned hierarchy of objects in the Flight Finder page of the MyFlight Sample Application, you get very different views of the overall structure.
Regular WPF object identification
UI Automation object identificationThe same object might be identified completely differently
Objects can be seen as completely different types of objects.
In this example, you have an object in which an application has a corporate directory displayed in a searchable grid:
When UFT uses the Spy to view the main area of this window, the results are very different.
When using WPF object identification you get the general WpfObject for the window (which is functionally a grid control). However, UI Automation identifies this as a UIATable instead. In this case, the UI Automation object identification enables you to get a clearer object identification that is more in line with the functional design of the application.
As a WPF object
As a UI Automation object
Use UI Automation when regular object identification is not sufficient, and UI Automation object identification is more in line with the functional design of the application.
When UFT does not support your technology or your version of a technology
As different technology frameworks expand their abilities and functionalities, UFT may not adequately identify the application objects, either in type or functionality. In this case, using UI Automation enables you to adequately identify and test the application.
Use UI Automation when it will enable you to identify objects in your application when UFT otherwise could not.Example
You have an application that provides data on COM ports:
When spying on this application with regular UFT support, UFT is unable to identify or learn any of the objects. However, using UI Automation, you can identify individual objects: