Übersicht über die Benutzeroberflächenautomatisierung
Hinweis |
---|
Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten UI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.Aktuelle Informationen zu UI Automation finden Sie unter Windows Automation API: UI Automation. |
Microsoft UI Automation ist das neue Barrierefreiheit-Framework für Microsoft Windows. Es ist für alle Betriebssysteme verfügbar, die Windows Presentation Foundation (WPF) unterstützen.
Die UI Automation stellt programmgesteuerten Zugriff auf die meisten user interface (UI) auf dem Desktop zur Verfügung, sodass Hilfstechnologieprodukte, z. B. die Bildschirmsprachausgabe, Informationen über die UI für die Endbenutzer bereitstellen und die UI mit anderen Verfahren als Standardeingaben ändern können. UI Automation ermöglicht außerdem die Interaktion von automatisierten Testskripts mit der UI.
Hinweis |
---|
UI Automation ermöglicht keine Kommunikation zwischen Prozessen, die von anderen Benutzern durch den Befehl Ausführen als gestartet werden. |
Benutzeroberflächenautomatisierungs-Client-Anwendungen können mit der Gewissheit geschrieben werden, dass sie mit verschiedenen Frameworks funktionieren. Der UI Automation-Kern maskiert alle Unterschiede in den Frameworks, die den verschiedenen Komponenten von UI zugrunde liegen. Beispielsweise sind die Content-Eigenschaft einer WPF-Schaltfläche, die Caption-Eigenschaft einer Win32-Schaltfläche und die ALT-Eigenschaft eines HTML-Bildes alle nur einer einzelnen Eigenschaft, Name, in der UI Automation-Ansicht zugewiesen.
UI Automation bietet volle Funktionalität in Windows Vista, Microsoft Windows XP und Windows Server 2003.
Benutzeroberflächenautomatisierungs-Anbieter bieten durch einen integrierten Überbrückungsdienst Unterstützung für Microsoft Active Accessibility-Clientanwendungen.
Dieses Thema enthält folgende Abschnitte.
- Anbieter und Clients
- Benutzeroberflächenautomatisierungs-Modell
- Verwandte Abschnitte
Anbieter und Clients
UI Automation verfügt über vier Hauptkomponenten, wie in der folgenden Tabelle aufgeführt.
Komponente |
Beschreibung |
---|---|
Anbieter-API (UIAutomationProvider.dll und UIAutomationTypes.dll) |
Eine Reihe von Schnittstellendefinitionen, die von Benutzeroberflächenautomatisierungs-Anbietern implementiert werden, sowie Objekte, die Informationen über UI-Elemente bereitstellen und auf Programmeingaben reagieren. |
Client-API (UIAutomationClient.dll und UIAutomationTypes.dll) |
Eine Reihe von Typen für verwalteten Code, der es Benutzeroberflächenautomatisierungs-Client-Anwendungen ermöglicht, Informationen über UI abzurufen und Eingaben an Steuerelemente zu senden. |
UiAutomationCore.dll |
Der zugrunde liegende Code (gelegentlich als UI Automation-Code bezeichnet), der die Kommunikation zwischen Anbietern und Clients verwaltet. |
UIAutomationClientsideProviders.dll |
Ein Satz von Benutzeroberflächenautomatisierungs-Anbietern für Standard-Legacysteuerelemente. (WPF-Steuerelemente verfügen über systemeigene Unterstützung für UI Automation.) Diese Unterstützung steht Clientanwendungen automatisch zur Verfügung. |
Aus Sicht des Softwareentwicklers gibt es zwei Möglichkeiten zum Verwenden von UI Automation: entweder kann eine Unterstützung für benutzerdefinierte Steuerelemente mithilfe der Anbieter-API erstellt werden oder Anwendungen, die den UI Automation-Kern verwenden, um mit UI-Elementen mithilfe der Client-API zu kommunizieren. Abhängig von Ihren Schwerpunkten sollten Sie auf verschiedene Teile der Dokumentation zugreifen. In den folgenden Abschnitten können Sie mehr über die Konzepte erfahren und sich praktisches Wissen aneignen.
Abschnitt |
Inhalt |
Zielgruppe |
---|---|---|
Grundlagen der Benutzeroberflächenautomatisierung (dieser Abschnitt) |
Allgemeine Übersichten über die Konzepte. |
Alle |
Benutzeroberflächenautomatisierungs-Anbieter für verwalteten Code |
Übersichten und Hilfethemen zum Verwenden der Anbieter-API. |
Entwickler von Steuerelementen. |
Benutzeroberflächenautomatisierungs-Clients für verwalteten Code |
Übersichten und Hilfethemen zum Verwenden der Client-API. |
Entwickler von Clientanwendungen. |
Informationen zum Implementieren von Steuerelementmustern durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen. |
Alle |
|
Informationen zum Implementieren des Text-Steuerelementmusters durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen. |
Alle |
|
Informationen über die Eigenschaften und Steuerelementmuster, die von verschiedenen Steuerelementtypen unterstützt werden. |
Alle |
In der folgenden Tabelle werden UI Automation-Namespaces, die DLLs, die sie enthalten, und die sie verwendende Zielgruppe, aufgelistet.
Namespace |
DLLs, auf die verwiesen wird |
Zielgruppe |
---|---|---|
UIAutomationClientUIAutomationTypes |
Benutzeroberflächenautomatisierungs-Client-Entwickler; wird zum Suchen nach AutomationElement-Objekten, zum Registrieren von UI Automation-Ereignissen und zum Arbeiten mit UI Automation-Steuerelementmustern verwendet. |
|
UIAutomationProviderUIAutomationTypes |
Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für andere Frameworks als WPF. |
|
UIAutomationClientUIAutomationTypes |
Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für Frameworks, die über WPF hinausgehen; wird zum Implementieren von TextPattern-Steuerelementmustern verwendet. |
|
PresentationFramework |
Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für WPF. |
Benutzeroberflächenautomatisierungs-Modell
UI Automation macht UI-Elemente für Clientanwendungen vollständig als AutomationElement verfügbar. Elemente sind in einer Baumstruktur, mit dem Desktop als Stammelement, enthalten. Clients können die Rohdatenansicht der Struktur als Steuerelementansicht oder Inhaltsansicht filtern. (Diese Standardansichten der Struktur können in der UI Spy-Anwendung, die in diesem software development kit (SDK) enthalten ist, mühelos angezeigt werden.) Anwendungen können auch benutzerdefinierte Ansichten erstellen.
AutomationElement-Objekte machen allgemeine Eigenschaften der von ihnen dargestellten UI-Elemente verfügbar. Eine dieser Eigenschaften ist der Steuerelementtyp, der die grundlegende Darstellung und Funktionalität als einzelne Entität definiert, z. B. als Schaltfläche oder Kontrollkästchen.
Darüber hinaus machen Elemente Steuerelementmuster verfügbar, die ihren Steuerelementtypen entsprechende Eigenschaften bereitstellen. Steuerelementmuster machen gleichzeitig Methoden verfügbar, die es Clients ermöglichen, weitere Informationen über das Element zu erlangen und Eingaben bereitzustellen.
Hinweis |
---|
Es gibt keine 1:1-Entsprechung zwischen Steuerelementtypen und Steuerelementmustern.Ein Steuerelementmuster kann von mehreren Steuerelementtypen unterstützt werden, und ein Steuerelement kann mehrere Steuerelementmuster unterstützen, von denen jedes einen anderen Aspekt des Verhaltens verfügbar macht.Ein Kombinationsfeld hat beispielsweise mindestens zwei Steuerelementmuster: eines mit der Fähigkeit zum Erweitern und Reduzieren und ein anderes, das den Auswahlmechanismus darstellt.Weitere Informationen finden Sie unter Steuerelementtypen der Benutzeroberflächenautomatisierung. |
UI Automation gibt durch Ereignisse Informationen an Clientanwendungen weiter. Im Gegensatz zu WinEvents basieren UI Automation-Ereignisse nicht auf einem Übertragungsmechanismus. UI Automation-Clients melden sich für bestimmte Ereignisbenachrichtigungen an und können anfordern, dass spezifische UI Automation-Eigenschaften und Steuerelementmuster-Informationen an den Ereignishandler übergeben werden. Ein UI Automationsereignis enthält zudem einen Verweis auf das Element, von dem es ausgelöst wurde. Anbieter können die Leistung verbessern, indem sie Ereignisse abhängig davon, ob Clients lauschen, selektiv auslösen.
Siehe auch
Konzepte
Übersicht über die Benutzeroberflächenautomatisierungs-Struktur
Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung
Übersicht über die Benutzeroberflächenautomatisierungs-Eigenschaften
Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse
Übersicht über die Benutzeroberflächenautomatisierungs-Sicherheit