Übersicht über die Benutzeroberflächenautomatisierungs-Struktur

Hilfstechnologieprodukte und Testskripts navigieren in der Microsoft Benutzeroberflächenautomatisierung-Struktur, um Informationen zur Benutzeroberfläche und ihren Elementen zu sammeln.

In der Benutzeroberflächenautomatisierung Struktur ist ein Stammelement, das das Windows-Desktopfenster ("der Desktop") darstellt und dessen untergeordnete Elemente Anwendungsfenster darstellen. Jedes dieser untergeordneten Elemente kann Elemente enthalten, die Teile der Benutzeroberfläche darstellen, z. B. Menüs, Schaltflächen, Symbolleisten und Listenfelder. Diese Elemente können Elemente enthalten, z. B. Listenelemente.

Die Benutzeroberflächenautomatisierung-Struktur ist keine feste Struktur. Es ist selten in seiner Gesamtheit zu sehen, da es Tausende von Elementen enthalten kann. Teile der Benutzeroberflächenautomatisierung Struktur werden so erstellt, dass ein Client sie benötigt, und die Struktur der Struktur ändert sich, wenn Elemente hinzugefügt, verschoben oder entfernt werden.

Benutzeroberflächenautomatisierung Anbieter unterstützen die Benutzeroberflächenautomatisierung Struktur, indem sie die Navigation zwischen Elementen in einem Fragment implementieren. Ein Fragment ist eine vollständige Unterstruktur von Elementen aus einem bestimmten Framework und verfügt über ein Stammelement (als Fragmentstamm bezeichnet), das normalerweise in einem Fenster gehostet wird.

Anbieter kümmern sich nicht um die Navigation von einem Steuerelement zum anderen. Dies wird vom Benutzeroberflächenautomatisierung Core verwaltet, der Informationen von den Standardfensteranbietern verwendet.

Dieses Thema enthält folgende Abschnitte:

Ansichten der Benutzeroberflächenautomatisierung-Struktur

Die Benutzeroberflächenautomatisierung Struktur kann gefiltert werden, um Ansichten zu erstellen, die nur die Benutzeroberflächenautomatisierung Elemente enthalten, die für einen bestimmten Client relevant sind. Mit diesem Ansatz können Clients die Struktur, die über Benutzeroberflächenautomatisierung präsentiert wird, an ihre spezifischen Anforderungen anpassen.

Der Client kann die Ansicht durch Eingrenzen und Filtern anpassen. Bereich definiert den Umfang der Ansicht, beginnend mit einem Basiselement. Beispielsweise möchte die Anwendung möglicherweise nur direkte untergeordnete Elemente des Desktops oder alle untergeordneten Elemente eines Anwendungsfensters finden. Filterung definiert die Typen von Elementen, die in der Ansicht enthalten sind.

Benutzeroberflächenautomatisierung Anbieter unterstützen die Filterung durch Definieren von Eigenschaften für Elemente, einschließlich der Eigenschaften IUIAutomationElement::IsControlElement und IUIAutomationElement::IsContentElement.

Benutzeroberflächenautomatisierung bietet drei Standardansichten: rohe Ansicht, Steuerelementansicht und Inhaltsansicht. Diese Ansichten werden durch den Typ der durchgeführten Filterung definiert. Der Bereich einer beliebigen Ansicht wird von der Anwendung definiert. Die Anwendung kann andere Filter auf Eigenschaften anwenden. Beispielsweise, um nur aktivierte Steuerelemente in eine Steuerelementansicht einzuschließen.

Rohdatenansicht

Die Rohansicht der Benutzeroberflächenautomatisierung Struktur ist die vollständige Struktur der Automatisierungselemente, für die der Desktop der Stamm ist. Die Rohansicht folgt eng der nativen programmgesteuerten Struktur einer Anwendung und ist die detaillierteste verfügbare Ansicht. Sie stellt gleichzeitig die Basis zum Erstellen anderer Ansichten der Struktur dar. Da diese Ansicht vom zugrunde liegenden Benutzeroberflächenframework abhängt, weist die rohe Ansicht einer WPF-Schaltfläche (Windows Presentation Foundation) eine andere rohe Ansicht als eine Microsoft Win32-Schaltfläche auf.

Die rohe Ansicht wird durch Suchen nach Elementen ohne Angabe von Eigenschaften oder mithilfe von IUIAutomation::RawViewWalker zum Abrufen einer IUIAutomationTreeWalker-Schnittstelle für die Navigation in der Struktur abgerufen.

Steuerelementansicht

Die Steuerelementansicht ist eine Teilmenge der Rohdatenansicht. Es enthält nur die Ui-Elemente, für die die IUIAutomationElement::IsControlElement-Eigenschaft auf TRUE festgelegt ist.

Die Steuerelementansicht enthält die Ui-Elemente, die dem Benutzer Informationen bereitstellen oder dem Benutzer das Ausführen einer Aktion ermöglichen. Dies sind die Ui-Elemente, die für automatisierte Testanwendungen am interessantesten sind.

Die Steuerelementansicht enthält auch nichtinteraktive UI-Elemente, die zur logischen Struktur der Benutzeroberfläche beitragen. Dazu gehören Elementcontainer wie Listenansichtsheader, Symbolleisten, Menüs und die status leiste. Weitere nicht interaktive Elemente, die in der Steuerelementansicht angezeigt werden, sind Grafiken mit Informationen und statischer Text in einem Dialogfeld.

Nichtinteraktive Elemente, die nur für Layout- oder dekorative Zwecke verwendet werden, z. B. Bereiche, die zum Auslegen von Steuerelementen in einem Dialogfeld verwendet werden, werden in der Steuerelementansicht nicht angezeigt.

Die Steuerelementansicht der Benutzeroberflächenautomatisierung Struktur ist eng mit der ui-Struktur verknüpft, die von einem Endbenutzer wahrgenommen wird. Dies erleichtert es dem Hilfstechnologieprodukt, die Benutzeroberfläche für den Endbenutzer zu beschreiben und dem Endbenutzer bei der Interaktion mit der Anwendung zu helfen.

Die Steuerelementansicht wird abgerufen, indem Sie nach Elementen suchen, für die die IUIAutomationElement::IsControlElement-Eigenschaft auf true festgelegt ist, oder indem Sie ControlViewWalker verwenden, um eine IUIAutomationTreeWalker-Schnittstelle zum Navigieren in der Struktur abzurufen.

Inhaltsansicht

Die Inhaltsansicht der Benutzeroberflächenautomatisierungs-Struktur ist eine Teilmenge der Steuerelementansicht. Es enthält nur die UI-Elemente, für die sowohl die IUIAutomationElement::IsControlElement-Eigenschaft als auch die IUIAutomationElement::IsContentElement-Eigenschaft auf TRUE festgelegt sind.

Die Inhaltsansicht enthält Benutzeroberflächenelemente, die die tatsächlichen Informationen in einer Benutzeroberfläche vermitteln, einschließlich UI-Elementen, die den Tastaturfokus empfangen können, und text, der keine Bezeichnung für ein UI-Element ist. Dies sind die UI-Elemente, die für eine Sprachausgabeanwendung am interessantesten sind. Beispielsweise werden die Werte in einem Dropdownkombinationsfeld in der Inhaltsansicht angezeigt, da die Werte Informationen darstellen, die von einem Endbenutzer verwendet werden.

In der Inhaltsansicht werden ein Kombinationsfeld und ein Listenfeld als Sammlung von UI-Elementen dargestellt, in denen ein oder mehrere Elemente ausgewählt werden können. Die Tatsache, dass ein Element immer geöffnet ist und ein Element erweitert und reduziert werden kann, ist in der Inhaltsansicht irrelevant, da es darauf ausgelegt ist, die Daten oder Inhalte anzuzeigen, die dem Benutzer angezeigt werden.

Die Inhaltsansicht wird durch Suchen nach Elementen abgerufen, für die sowohl die IsControlElement - als auch die CurrentIsContentElement-Eigenschaft auf TRUE festgelegt sind, oder durch Verwenden von IUIAutomation::ContentViewWalker , um eine IUIAutomationTreeWalker-Schnittstelle für die Navigation in der Struktur abzurufen.

Die folgenden Bilder zeigen die Unterschiede zwischen der Steuerelementansicht und der Inhaltsansicht. Das erste Bild zeigt ein einfaches Kombinationsfeld mit drei Elementen in der Dropdownliste. Die zweite Abbildung zeigt, wie die Elemente der Kombinationsfeld-Benutzeroberfläche in den Steuerelement- und Inhaltsansichten der UISpy.exe-Anwendung angezeigt werden.

Screenshot eines einfachen Kombinationsfelds mit drei Dropdownelementen

Screenshot der uispy-Anwendung mit Steuerelement- und Inhaltsansichten von Kombinationsfeldelementen

Konzept

Erstellen des CUIAutomation-Objekts

Abrufen von Benutzeroberflächenautomatisierungs-Elementen

Grundlagen der Benutzeroberflächenautomatisierung