When to use UI Automation
Use OpenText Functional Testing UI Automation support as follows:
-
Create tests exclusively of UI Automation test objects
-
Mix UI Automation objects and normal test objects (such as WPF, or Windows Forms)
-
Use UI Automation support only when normal object identification is not sufficient for your testing needs.
For example, use UI Automation support in the following scenarios:
-
When OpenText Functional Testing's normal object identification support is not sufficient for testing your application
Because OpenText Functional Testing 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 differentBecause objects are identified by OpenText Functional Testing 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.
WPF object identification
UI Automation object identification
The same object might be identified completely differentlyObjects 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 OpenText Functional Testing 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 normal object identification is not sufficient, and UI Automation object identification is more in line with the functional design of the application.
-
When OpenText Functional Testing does not support your technology or your version of a technology
As different technology frameworks expand their abilities and functionalities, OpenText Functional Testing 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 enables you to identify objects in your application when OpenText Functional Testing otherwise could not.
ExampleYou have an application that provides data on COM ports:
When spying on this application with normal OpenText Functional Testing support, OpenText Functional Testing is unable to identify or learn any of the objects. However, using UI Automation, you can identify individual objects:
See also: