Übersicht über die Benutzeroberflächenautomatisierungs-Struktur
Hilfstechnologieprodukte und Testskripts navigieren in der Microsoft Benutzeroberflächenautomatisierung-Struktur, um Informationen über die Benutzeroberfläche und ihre Elemente zu sammeln.
In der Benutzeroberflächenautomatisierung-Struktur ist ein Stammelement, das das Windows Desktopfenster ("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 wird selten in seiner Gesamtalität gesehen, da es Tausende von Elementen enthalten kann. Teile der Benutzeroberflächenautomatisierung Struktur werden so erstellt, wie 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 Teilstruktur von Elementen aus einem bestimmten Framework und verfügt über ein Stammelement (als Fragmentstamm bezeichnet), das in der Regel in einem Fenster gehostet wird.
Anbieter befassen sich nicht mit der Navigation von einem Steuerelement zu einem 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 Sichten 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 dargestellt wird, an ihre speziellen Anforderungen anpassen.
Der Client kann die Ansicht durch Bereichs- und Filterung anpassen. Bereichsdefinition definiert den Umfang der Sicht, beginnend mit einem Basiselement. Beispielsweise möchte die Anwendung möglicherweise nur direkte untergeordnete Elemente des Desktops oder alle Nachfolger eines Anwendungsfensters finden. Beim Filtern werden die Typen von Elementen definiert, die in der Ansicht enthalten sind.
Benutzeroberflächenautomatisierung Anbieter unterstützen das Filtern, indem sie Eigenschaften für Elemente definieren, 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 ausgeführten Filterung definiert. Der Bereich jeder Ansicht wird von der Anwendung definiert. Die Anwendung kann andere Filter auf Eigenschaften anwenden. Beispielsweise, wenn nur aktivierte Steuerelemente in eine Steuerelementansicht eingeschlossen werden sollen.
Rohdatenansicht
Die rohe Ansicht der Benutzeroberflächenautomatisierung-Struktur ist die vollständige Struktur der Automatisierungselemente, für die der Desktop das Stammelement ist. Die rohe Ansicht folgt eng der systemeigenen programmgesteuerten Struktur einer Anwendung und ist die ausführlichste 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, hat die rohe Ansicht einer Windows Presentation Foundation -Schaltfläche (WPF) eine andere rohe Ansicht als eine Microsoft Win32-Schaltfläche.
Die rohe Ansicht wird abgerufen, indem nach Elementen gesucht wird, ohne Eigenschaften anzugeben, oder indem IUIAutomation::RawViewWalker verwendet wird, um eine IUIAutomationTreeWalker-Schnittstelle zum Navigieren in der Struktur abzurufen.
Steuerelementansicht
Die Steuerelementansicht ist eine Teilmenge der Rohdatenansicht. Sie enthält nur die Elemente der Benutzeroberfläche, für die die IUIAutomationElement::IsControlElement-Eigenschaft auf TRUE festgelegt ist.
Die Steuerelementansicht enthält die Benutzeroberflächenelemente, die dem Benutzer Informationen bereitstellen oder es dem Benutzer ermöglichen, eine Aktion auszuführen. Dies sind die Benutzeroberflächenelemente, die für automatisierte Testanwendungen am interessantesten sind.
Die Steuerelementansicht enthält auch nicht interaktive Benutzeroberflächenelemente, die zur logischen Struktur der Benutzeroberfläche beitragen. Dazu gehören Elementcontainer wie Listenansichtsheader, Symbolleisten, Menüs und die Statusleiste. Andere nicht interaktive Elemente, die in der Steuerelementansicht angezeigt werden, sind Grafiken mit Informationen und statischem Text in einem Dialogfeld.
Nichtinteraktive Elemente, die nur für Layout- oder zierliche Zwecke verwendet werden, z. B. Bereiche, die zum Layout von Steuerelementen in einem Dialogfeld verwendet werden, werden nicht in der Steuerelementansicht angezeigt.
Die Steuerelementansicht der Benutzeroberflächenautomatisierung Struktur ist eng der Benutzeroberflächenstruktur zugeordnet, die von einem Endbenutzer erkannt wird. Dies erleichtert es dem Hilfstechnologieprodukt, dem Endbenutzer die Benutzeroberfläche zu beschreiben und den Endbenutzer bei der Interaktion mit der Anwendung zu unterstützen.
Die Steuerelementansicht wird abgerufen, indem nach Elementen gesucht wird, für die die IUIAutomationElement::IsControlElement-Eigenschaft auf TRUE festgelegt ist, oder indem ControlViewWalker verwendet wird, um eine IUIAutomationTreeWalker-Schnittstelle zum Navigieren in der Struktur abzurufen.
Inhaltsansicht
Die Inhaltsansicht der Benutzeroberflächenautomatisierung Struktur ist eine Teilmenge der Steuerelementansicht. Sie enthält nur die Elemente der Benutzeroberfläche, für die sowohl IUIAutomationElement::IsControlElement 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 Benutzeroberflächenelementen, die den Tastaturfokus erhalten können, und Text, der keine Bezeichnung für ein Benutzeroberflächenelement ist. Dies sind die Benutzeroberflächenelemente, die für eine Sprachausgabeanwendung am interessantesten sind. Beispielsweise werden die Werte in einem Dropdown-Kombinationsfeld in der Inhaltsansicht angezeigt, da die Werte Informationen darstellen, die von einem Endbenutzer verwendet werden.
In der Inhaltsansicht werden sowohl ein Kombinationsfeld als auch ein Listenfeld als Sammlung von Benutzeroberflächenelementen 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 so konzipiert ist, dass die Daten oder Inhalte angezeigt werden, die dem Benutzer angezeigt werden.
Die Inhaltsansicht wird abgerufen, indem nach Elementen gesucht wird, für die sowohl die IsControlElement- als auch die CurrentIsContentElement-Eigenschaft auf TRUE festgelegt ist, oder indem Sie IUIAutomation::ContentViewWalker verwenden, um eine IUIAutomationTreeWalker-Schnittstelle zum Navigieren in der Struktur abzurufen.
Die folgenden Abbildungen zeigen die Unterschiede zwischen der Steuerelementansicht und der Inhaltsansicht. Die erste Abbildung zeigt ein einfaches Kombinationsfeld mit drei Elementen in der Dropdownliste. Die zweite Abbildung zeigt, wie die Elemente der Benutzeroberfläche des Kombinationsfelds in den Steuerelement- und Inhaltsansichten der UISpy.exe Anwendung angezeigt werden.

