Microsoft UI Automation (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. When testing against Windows-based applications that have implemented UI Automation
provider interfaces, you can use UI Automation to improve the object recognition for the controls in these applications. In
this Help, we will refer to such controls as
UI Automation controls.
Note: Silk Test Workbench supports testing Windows-based applications that have implemented UI Automation on machines with
Microsoft Windows 8 or later.
UI Automation provides fallback support for applications that are based on the following technologies:
- Win32
- WPF
- WinForms
- Oracle JavaFX
- QT
- PowerBuilder
- Delphi
- Microsoft Office
For example, if you cannot record a test against your application because
Silk Test Workbench cannot recognize the objects in the application or because
Silk Test Workbench recognizes all objects in the application as
Control, you could try to enable the UI Automation support.
To enable the UI Automation support during recording, stop recording, enable the option
Microsoft UI Automation, and resume recording. For additional information, see
.
Note: The UI Automation support overrides the standard technology-domain-specific support. When you are finished interacting with
the controls that require UI Automation support, disable the UI Automation support again to resume working with standard controls.
Note: If you are testing against a Java FX application, you do not have to enable the UI Automation support, as
Silk Test Workbench enables this out-of-the-box for Java FX applications.
To ensure that the methods supported for a UI Automation control cover the corresponding controls in all supported technologies,
the
Silk Test Workbench API supports only a subset of the methods and properties available for these controls. To call additional methods and properties
that are not available in the
Silk Test Workbench API for a control, use dynamic invoke.