Microsoft UI Automation (UIA Pro)
The UIA Pro add-in supports testing Windows-based applications that have implemented UI Automation provider interfaces.
About Microsoft UI Automation
Microsoft UI Automation is a framework that enables you to access, identify, and manipulate UI elements of any application by providing programmatic access to these user interface elements.
The UI Automation API enables this access by using the IUIAutomationElement interface to make each element into a separate object. You can then view the properties and operations of each object in the application.
OpenText Functional Testing for Developers uses the different parts of the framework to create both test objects based on your application, and supported test object methods.
Use the following elements to understand the framework:
| Element | Description |
|---|---|
| Element tree | The hierarchy of elements in the application, which displays a logical division and hierarchy of all user interface elements in the application. |
| Control Type property |
The appearance and functionality of the object. |
|
Control Patterns |
These patterns also contain methods specific for the pattern. Control patterns are a way to categorize and expose a control's function independent of the control type or the appearance of the control. There is no one to one matching of the control type property to control patterns. Each control type can support multiple types of patterns and each pattern can be used by multiple control types. |
For full details on the UI Automation framework, see the UI Automation section on MSDN.
UIA Pro in OpenText Functional Testing for Developers
OpenText Functional Testing for Developers provides UIA Pro support to test Windows-based applications that implement UI Automation provider interfaces. UIA Pro can identify and interact with objects in these applications regardless of the language in which they were written.
Each UIA Pro test object implements specific patterns, which determine the methods and properties it supports. The patterns available when you learn the test object type might be different than the ones available when running the test. Before running a test object's operation, check the object's supported patterns to know what is supported at that time.
When to use UIA Pro
Use OpenText Functional Testing for Developers UI Automation support in the following situations:
-
Technology-agnostic testing: UIA Pro supports testing Windows desktop applications that implement UI Automation provider interfaces, regardless of the language or framework used to build them.
-
Improved object identification: Use UIA Pro when it provides clearer or more functionally accurate object identification than other supported technologies. For example, complex grid controls might be identified as generic WpfObjects in WPF tests, but UIA Pro can identify them as UIAPro TableTO objects with appropriate methods and properties.
-
Technology version support: When OpenText Functional Testing for Developers does not support your specific technology version, UIA Pro may provide the needed coverage.
UIA Pro can be used as your primary testing approach or combined with other supported technologies (such as WPF or Windows Forms) in the same test.
How to use UIA Pro
You can create tests that include both UIA Pro objects and objects from other add-ins (such as WPF, or Windows Forms) when your application requires interaction with components from different technologies.
You can use UIA Pro test objects in JavaScript, Java, and C# tests.
Create your test object descriptions using the UIA Pro mode in OIC, or by editing your test manually.
Refer to the JavaScript, Java, and .NET SDK references for more information.
Note: If you want to use OpenText Functional Testing for Developers on a machine that has OpenText Functional Testing installed as well, you need to open OpenText Functional Testing before OpenText Functional Testing for Developers for UIA Pro to work.
Related UIA Pro topics
For more information on specific UIA Pro features and best practices, see:
-
Use Traverse Mode for UIA Pro object identification. Overcome object detection issues in applications with incomplete or improper UIA implementations.
-
Relative paths in object descriptions. Improve test resilience by identifying controls relative to stable parent objects.
-
Tree navigation methods. Programmatically navigate the UIA object hierarchy for dynamic identification scenarios.
-
UIA Pro best practices. Follow recommended approaches for object identification, path selection, and test maintenance.
-
Troubleshoot UIA Pro behavior changes after upgrade. Resolve compatibility issues and understand rollback options for legacy tests.
See also:

