UI Automation in UFT Developer (tech preview)
OpenText Functional Testing for Developers's UIA Pro add-in supports testing Windows-based applications that have implemented UI Automation provider interfaces.
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 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
You can use UIA Pro to test applications and objects that are not otherwise identified by OpenText Functional Testing for Developers. UIA Pro can identify and interact with objects in Windows-based applications that implement UI Automation provider interfaces.
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 UIA Pro only when normal object identification is not sufficient for your testing needs:
-
When UIA Pro enables you to identify objects in your application when OpenText Functional Testing for Developers otherwise could not.
-
When UIA Pro object identification is more in line with the functional design of the application.
For example, use UIA Pro in the following scenarios:
OpenText Functional Testing for Developers's normal object identification is not sufficient for testing your application
Because OpenText Functional Testing for Developers 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 OpenText Functional Testing for Developers from a mapping of Control Type to a specific test object, the types and relations between objects can be very different.
-
The same object might be identified differently.
Objects can be seen as completely different types of objects. For example, when using WPF object identification, complex grid controls might be identified as generic WpfObjects. However, UIA Pro identifies this as a UIAPro TableTO instead. In this case, the UIA Pro object identification enables you to get a clearer object identification that is more in line with the functional design of the application.
OpenText Functional Testing for Developers does not support your technology or your version of a technology
As different technology frameworks expand their abilities and functionalities, OpenText Functional Testing for Developers may not adequately identify the application objects, either in type or functionality. In this case, using UIA Pro enables you to adequately identify and test the application.
How to use UIA Pro
Use UIA Pro as follows:
-
Create tests exclusively of UIA Pro test objects
-
Mix UIA Pro objects and normal test objects (such as WPF, or Windows Forms)
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.
Tech preview scope
UIA Pro is introduced as a tech preview feature. Working with this tech preview feature has the following known issues:
-
Slow performance
-
Recording is not supported
See also: