Condividi tramite


Cenni preliminari su automazione interfaccia utente

NotaNota

La presente documentazione è destinata agli sviluppatori di .NET Framework che desiderano utilizzare le classi UI Automation gestite definite nello spazio dei nomi System.Windows.Automation.Per informazioni aggiornate sull'UI Automation, vedere Windows Automation API: Automazione interfaccia utente (la pagina potrebbe essere in inglese).

Microsoft UI Automation è il nuovo framework di accessibilità per Microsoft Windows, disponibile su tutti i sistemi operativi che supportano Windows Presentation Foundation (WPF).

UI Automation fornisce l'accesso a livello di codice alla maggior parte degli elementi dell'user interface (UI) sul desktop, consentendo a prodotti di Assistive Technology, quali le utilità per la lettura dello schermo, di fornire informazioni sull'UI agli utenti finali e di modificare l'UI con mezzi diversi dall'input standard. UI Automation consente inoltre l'interazione degli script di test automatizzati con l'UI.

NotaNota

UI Automation non abilita la comunicazione tra processi avviati da utenti diversi tramite il comando Esegui come.

Le applicazioni client di automazione interfaccia utente possono essere scritte con la certezza che funzioneranno su più framework. Le funzionalità di base di UI Automation mascherano le eventuali differenze nei framework sottostanti le varie parti dell'UI. Ad esempio, la proprietà Content di un pulsante di WPF, la proprietà Caption di un pulsante di Win32 e la proprietà ALT di un'immagine HTML sono tutte mappate a un'unica proprietà, Name, nella visualizzazione di UI Automation.

UI Automation fornisce tutte le funzionalità in Windows Vista, Microsoft Windows XP e Windows Server 2003.

I provider di automazione interfaccia utente offrono supporto per le applicazioni client di Microsoft Active Accessibility, tramite un servizio di bridging incorporato.

Nel presente argomento sono contenute le seguenti sezioni.

  • Provider e client
  • Modello di automazione interfaccia utente
  • Argomenti correlati

Provider e client

In UI Automation sono presenti quattro componenti principali, come illustrato nella tabella riportata di seguito.

Componente

Descrizione

API di provider (UIAutomationProvider.dll e UIAutomationTypes.dll)

Un insieme di definizioni dell'interfaccia implementate dai provider di automazione interfaccia utente, oggetti che forniscono informazioni sugli elementi dell'UI e rispondono a input a livello di codice.

Client API (UIAutomationClient.dll e UIAutomationTypes.dll)

Un insieme di tipi per il codice gestito che consente alle applicazioni client di automazione interfaccia utente di ottenere informazioni sull'UIe inviare input ai controlli.

UiAutomationCore.dll

Il codice sottostante (talvolta denominato core di UI Automation) che gestisce la comunicazione tra provider e client.

UIAutomationClientsideProviders.dll

Un insieme di provider di automazione interfaccia utente per i controlli standard legacy (i controlli WPF dispongono di supporto nativo per UI Automation). Questo supporto è automaticamente disponibile per le applicazioni client.

Per uno sviluppatore software, esistono due modalità di utilizzo di UI Automation: creare supporto per i controlli personalizzati (utilizzando l'API del provider) e creare applicazioni che utilizzano il core di UI Automation per comunicare con gli elementi dell'UI (utilizzando l'API client). In base allo stato attivo, è necessario fare riferimento a parti diverse della documentazione. Per ulteriori informazioni sui concetti e per istruzioni pratiche sulle procedure, vedere le sezioni seguenti.

Sezione

Argomento

Destinatari

Nozioni fondamentali sull'automazione interfaccia utente (questa sezione)

Cenni preliminari generici sui concetti.

Tutti.

Provider di automazione interfaccia utente per il codice gestito

Cenni preliminari e argomenti sulle procedure per consentire l'utilizzo dell'API del provider.

Sviluppatori dei controlli.

Client di automazione interfaccia utente per il codice gestito

Cenni preliminari e argomenti sulle procedure per l'utilizzo dell'API client.

Sviluppatori di applicazioni client.

Pattern di controllo per automazione interfaccia utente

Informazioni sulla modalità di implementazione dei pattern di controllo da parte dei provider e sulle funzionalità disponibili ai client.

Tutti.

Pattern di testo per l'automazione interfaccia utente

Informazioni sulla modalità di implementazione del pattern di controllo Text da parte dei provider e sulle funzionalità disponibili ai client.

Tutti.

Tipi di controllo per l'automazione dell'interfaccia utente

Informazioni sulle proprietà e sui pattern di controllo supportati da diversi tipi di controllo.

Tutti.

Nella tabella riportata di seguito vengono elencati gli spazi dei nomi di UI Automation, le DLL che li contengono e i destinatari che le utilizzano.

Spazio dei nomi

DLL a cui si fa riferimento

Destinatari

System.Windows.Automation

UIAutomationClientUIAutomationTypes

Sviluppatori di client di automazione interfaccia utente; utilizzato per cercare oggetti AutomationElement, registrare eventi di UI Automation e utilizzare i pattern di controllo di UI Automation.

System.Windows.Automation.Provider

UIAutomationProviderUIAutomationTypes

Sviluppatori di provider di automazione interfaccia utente per i framework diversi da WPF.

System.Windows.Automation.Text

UIAutomationClientUIAutomationTypes

Sviluppatori di provider di automazione interfaccia utente per framework diversi da WPF; utilizzato per implementare il pattern di controllo TextPattern.

System.Windows.Automation.Peers

PresentationFramework

Sviluppatori di provider di automazione interfaccia utente per WPF.

Modello di automazione interfaccia utente

UI Automation espone tutte le parti dell'UI alle applicazioni client come AutomationElement. Gli elementi sono contenuti in una struttura ad albero, con il desktop come elemento radice. I client possono filtrare la visualizzazione non elaborata della struttura ad albero come visualizzazione controlli o visualizzazione contenuto. Queste visualizzazioni standard della struttura possono essere visualizzate facilmente utilizzando l'applicazione UI Spy inclusa con software development kit (SDK). È anche possibile creare visualizzazioni personalizzate tramite le applicazioni.

Gli oggetti AutomationElement espongono proprietà comuni degli elementi di UI che rappresentano. Una di queste proprietà è il tipo di controllo, che definisce l'aspetto e le funzionalità di base come singola entità riconoscibile, ad esempio un pulsante o una casella di controllo.

Inoltre, gli elementi espongono pattern di controllo che forniscono proprietà specifiche per i tipi di controllo. I pattern di controllo espongono anche metodi che consentono ai client di ottenere ulteriori informazioni sull'elemento e fornire input.

NotaNota

Non esiste una corrispondenza uno-a-uno tra tipi di controllo e pattern di controllo.Un pattern di controllo può essere supportato da più tipi di controllo e un controllo può supportare più pattern di controllo, ognuno dei quali espone aspetti diversi del comportamento.Ad esempio, una casella combinata dispone di almeno due pattern di controllo: uno che rappresenta la possibilità di espansione e compressione e un altro che rappresenta il meccanismo di selezione.Per informazioni dettagliate, vedere Tipi di controllo per l'automazione dell'interfaccia utente.

UI Automation fornisce anche informazioni alle applicazioni client tramite gli eventi. A differenza di WinEvents, gli eventi UI Automation non sono basati su un meccanismo di trasmissione. I client di UI Automation si registrano per le notifiche di eventi specifici e possono richiedere che nei propri gestori eventi siano passate informazioni sulle proprietà e sui pattern di controllo specifici di UI Automation. Inoltre, un evento UI Automation contiene un riferimento all'elemento che lo ha generato. I provider possono migliorare le prestazioni generando eventi in modo selettivo, a seconda che vi siano client in ascolto.

Vedere anche

Concetti

Cenni preliminari sulla struttura ad albero di automazione dell'interfaccia utente

Cenni preliminari sui pattern di controllo per l'automazione interfaccia utente

Cenni preliminari sulle proprietà di automazione interfaccia utente

Cenni preliminari sugli eventi di automazione interfaccia utente

Cenni preliminari sulla sicurezza di automazione interfaccia utente