UI Automation is a technology that provides programmatic access to most user interface (UI) elements on the desktop which can be used by assistive technologies and automated scripts to interact with the UI elements. This comes particularly in use for testing purposes.
The working of UI Automation is briefly explained below:
- Providers and Clients
Providers: These are components that expose information about UI elements and respond to programmatic input. They are normally
implemented by application developers
Clients: These are applications or scripts that consume the information provided by the providers to interact with the UI elements.
- Automation Elements: Each UI element is represented as an Automation Element
- UI Automation model
UI Automation Tree: This is a hierarchical representation of the UI elements in an application.
Control Patterns: These are sets of properties and methods that define the behavior of a UI element. The methods that control patterns provide
enables clients to get further information about the element and to provide input.
- Automation Events: UI Automation supports events that notify clients about changes in the UI.
For more information, please refer to the Microsoft UI Automation webpage:
https://learn.microsoft.com/en-us/dotnet/framework/ui-automation