Compartir a través de


Información general sobre UI Automation

NotaNota

Esta documentación está dirigida a desarrolladores de .NET Framework que desean usar las clases administradas de UI Automation definidas en el espacio de nombres System.Windows.Automation.Para obtener información actualizada sobre UI Automation, vea Windows Automation API: UI Automation.

Microsoft UI Automation es el nuevo marco de trabajo de accesibilidad para Microsoft Windows y está disponible en todos los sistemas operativos que admiten Windows Presentation Foundation (WPF).

La UI Automation proporciona acceso mediante programación a la mayoría de los elementos de la user interface (UI) del escritorio, lo que permite que los productos de tecnología de asistencia, tales como los lectores de pantalla, proporcionen información sobre la UI a los usuarios finales y permitan manipular la UI mediante recursos distintos de la entrada estándar. UI Automation también permite que los scripts de pruebas automatizadas interactúen con la UI.

NotaNota

UI Automation no habilita la comunicación entre procesos iniciados por usuarios diferentes a través del comando Ejecutar como.

Las aplicaciones cliente de Automatización de la interfaz de usuario pueden crearse con la seguridad de que funcionarán en varios marcos de trabajo. El núcleo de UI Automation enmascara las diferencias entre los marcos de trabajo subyacentes de las distintas piezas de la UI. Por ejemplo, la propiedad Content de un botón de WPF, la propiedad Caption de un botón de Win32 y la propiedad ALT de una imagen HTML se asignan a una propiedad única, Name, en la vista de UI Automation.

UI Automation proporciona funcionalidad completa en Windows Vista, Microsoft Windows XP y Windows Server 2003.

Los proveedores de Automatización de la interfaz de usuario proporcionan cierta compatibilidad con las aplicaciones cliente de Microsoft Active Accessibility, a través de un servicio puente integrado.

Este tema contiene las secciones siguientes.

  • Proveedores y clientes
  • Modelo de automatización de la interfaz de usuario
  • Temas relacionados

Proveedores y clientes

UI Automation tiene cuatro componentes principales, que se muestran en la tabla siguiente.

Componente

Descripción

API de proveedor (UIAutomationProvider.dll y UIAutomationTypes.dll)

Conjunto de definiciones de interfaz implementadas por los proveedores de Automatización de la interfaz de usuario, objetos que proporcionan información sobre los elementos de la UI y responden a la entrada mediante programación.

API de cliente (UIAutomationClient.dll y UIAutomationTypes.dll)

Conjunto de tipos de código administrado que permite que las aplicaciones cliente de Automatización de la interfaz de usuario obtengan información sobre la UI y envíen datos a los controles.

UiAutomationCore.dll

Código subyacente (en ocasiones denominado núcleo de UI Automation) que administra la comunicación entre los proveedores y los clientes.

UIAutomationClientsideProviders.dll

Conjunto de proveedores de Automatización de la interfaz de usuario para los controles estándar heredados. (Controles de WPF que tienen compatibilidad nativa con UI Automation). Esta compatibilidad está disponible automáticamente para las aplicaciones cliente.

Desde la perspectiva del programador de software, existen dos maneras de utilizar la UI Automation: crear la compatibilidad para los controles personalizados (mediante la API de proveedor) y crear aplicaciones que utilicen el núcleo de UI Automation para comunicarse con los elementos de la UI (mediante la API de cliente). Según el enfoque adoptado, deberá consultar diferentes partes de la documentación. Puede obtener más información sobre los conceptos, así como conocimientos prácticos, en las secciones siguientes.

Sección

Contenido

Audiencia

Fundamentos de UI Automation (esta sección)

Introducciones generales a los conceptos.

Todos.

Proveedores de UI Automation para código administrado

Introducciones y temas "Cómo..." que ayudan a utilizar la API de proveedor.

Programadores de controles

Clientes de UI Automation para código administrado

Introducciones y temas "Cómo..." que ayudan a utilizar la API de cliente.

Programadores de aplicaciones cliente

Patrones de control de UI Automation

Información sobre el modo en que los proveedores deben implementar los patrones de control y sobre qué funcionalidad está disponible para los clientes.

Todos

Modelo de texto de UI Automation

Información sobre el modo en que los proveedores deben implementar el patrón de control de texto y sobre la funcionalidad disponible para los clientes.

Todos

Tipos de control de UI Automation

Información sobre las propiedades y los patrones de control admitidos por los distintos tipos de controles.

Todos

En la tabla siguiente se muestran los espacios de nombres de UI Automation, las bibliotecas DLL que los contienen y quiénes los utilizan.

Espacio de nombres

Bibliotecas DLL a las que se hace referencia

Audiencia

System.Windows.Automation

UIAutomationClientUIAutomationTypes

Programadores de clientes de Automatización de la interfaz de usuario; se utilizan para buscar objetos AutomationElement, registrarse para los eventos de UI Automation y trabajar con los patrones de control de UI Automation.

System.Windows.Automation.Provider

UIAutomationProviderUIAutomationTypes

Programadores de proveedores de Automatización de la interfaz de usuario para otros marcos de trabajo distintos de WPF.

System.Windows.Automation.Text

UIAutomationClientUIAutomationTypes

Programadores de proveedores de Automatización de la interfaz de usuario para otros marcos de trabajo distintos de WPF; se utilizan para implementar el patrón de control TextPattern.

System.Windows.Automation.Peers

PresentationFramework

Programadores de proveedores de Automatización de la interfaz de usuario para WPF.

Modelo de automatización de la interfaz de usuario

La UI Automation expone cada parte de la UI a las aplicaciones cliente como objeto AutomationElement. Los elementos están contenidos en una estructura de árbol, donde el escritorio es el elemento raíz. Los clientes pueden filtrar la vista sin formato del árbol como una vista de control o una vista de contenido. (Estas vistas estándar de la estructura pueden verse fácilmente con la aplicación UI Spy incluida con este software development kit (SDK)). Las aplicaciones también pueden crear vistas personalizadas.

Los objetos AutomationElement exponen propiedades comunes de los elementos de la UI que representan. Una de estas propiedades es el tipo de control, que define su apariencia y funcionalidad básicas como una entidad reconocible única, por ejemplo, un botón o una casilla.

Además, los elementos exponen patrones de control que proporcionan propiedades específicas de sus tipos de control correspondientes. Los patrones de control también exponen métodos que permiten a los clientes obtener información adicional sobre el elemento y proporcionar entradas.

NotaNota

No existe una correspondencia unívoca entre los tipos de control y los patrones de control.Un patrón de control puede ser compatible con varios tipos de control y un control puede admitir varios patrones de control, cada uno de los cuales exponen aspectos diferentes de su comportamiento.Por ejemplo, un cuadro combinado tiene al menos dos patrones de control: uno que representa su capacidad para expandirse y contraerse y otro que representa el mecanismo de selección.Para obtener información específica, vea Tipos de control de UI Automation.

La UI Automation también proporciona información a las aplicaciones cliente a través de los eventos. A diferencia de WinEvents, los eventos de UI Automation no están basados en un mecanismo de difusión. Los clientes de UI Automation se registran para notificaciones de eventos concretas, y solicitan esas propiedades de UI Automation específicas y la información de patrón de control que se va a pasar a sus controladores de eventos. Además, un evento de UI Automation contiene una referencia al elemento que lo generó. Para mejorar el rendimiento, los proveedores pueden provocar selectivamente los eventos, dependiendo de si hay clientes a la escucha.

Vea también

Conceptos

Información general sobre el árbol de la UI Automation

Información general acerca de los patrones de control de automatización de la interfaz de usuario

Información general acerca de las propiedades de UI Automation

Información general sobre eventos de UI Automation

Información general sobre la seguridad de UI Automation