3.1+5.12
Komponenten untersuchen
In bestimmten Fällen ist es hilfreich, zusätzliche Informationen über Komponenten zu erhalten, neben den in der Sektion Fenster und Komponenten abgespeicherten, oder die dort abgespeicherten Informationen direkt im Zusammenspiel mit der Applikation zu betrachten.
Besonders wichtig ist dies während des "Einlernens von Komponenten"
bei Web-Anwendungen.
Dieser Vorgang sollte vor der Erstellung von Tests erfolgen.
Er ist in Verbesserte Komponentenerkennung mittels CustomWebResolver
beschrieben.
Hierzu steht der UI-Inspektor zur Verfügung.
Bei der Arbeit mit Skripten ist es manchmal hilfreich, wenn man sich eine Liste der Methoden eines GUI-Elements anzeigen lassen kann.
Methoden anzeigen
Jedes GUI-Objekt besitzt bestimmte (öffentliche) Methoden und Felder die man im einem SUT-Skript verwenden kann, sobald man Zugriff auf ein Objekt hat (siehe Abschnitt 11.3.4). Um sie anzuzeigen wählt man entweder den Eintrag »Methoden für Komponente anzeigen...« aus dem Kontextmenü eines Knotens unterhalb des Fenster und Komponenten Zweigs oder klickt im Komponentenaufnahme-Modus mit der rechten Maustaste auf die Komponente (siehe auch Abschnitt 4.5).
Web
Die Methoden und Felder, die für HTML-Elemente in einem Browser angezeigt werden,
können nicht direkt mit dem von rc.getComponent()
zurückgelieferten Objekt
verwendet werden. Es sind JavaScript-Methoden und -Eigenschaften, die in
callJS
eingebettet werden müssen (vgl. Abschnitt 54.10).
7.0+5.12.2
UI-Inspektor
Der UI-Inspektor zeigt die Hierarchie der Komponenten im Client und deren Eigenschaften an. Neben der Nachverfolgung von Problemen bei der Komponentenaufnahme oder der Wiedererkennung erleichtert er durch die in der Detailansicht dargestellten Informationen auch die Erstellung von Resolvern.
Im April 2024 fand ein Spezialwebinar zum Thema statt. Hier geht es zum Videomitschnitt des
Spezialwebinars auf unserem QF-Test
YouTube-Kanal.
Der UI-Inspektor steht für Android und Web zur Verfügung. Ab QF-Test Version 7.1 wird zusätzlich noch Windows und Swing/AWT unterstützt, und ab Version 7.1.3 wird ebenfalls FX unterstützt.
Die Darstellung der Knoten im Komponentenbaum bietet bereits einen Überblick über die wichtigsten Informationen. Wird die Klasse in blauer Schrift dargestellt, so wird diese Komponente als interessant betrachtet. Dies wiederum legt fest, ob für diese Komponente ein Komponente Knoten angelegt wird. Kann eine generische Klasse (siehe Generische Klassen) bestimmt werden, so wird zuerst die generische Klasse zusätzlich fett visualisiert und dann die ursprüngliche Klasse dahinter in Klammern gesetzt. Standardmäßig werden alle generischen Klassen als interessant betrachtet. Ist eine Komponente unsichtbar, so wird diese in einem Grauton dargestellt.

UI-Inspektor öffnen
Um den UI-Inspektor zu öffnen, haben Sie folgende Möglichkeiten:
- Über den Menüeintrag »Clients«-»Inspektor anzeigen«.
- Über den Menüeintrag »Im Inspektor anzeigen« aus dem Kontextmenü bei der Komponentenaufnahme.
- Über das Kontextmenü »Im Inspektor anzeigen« eines Komponente-Knotens oder eines Knotens, welcher eine QF-Test ID der Komponente oder eine SmartID enthält.
- Direkt vom SUT aus über (konfigurierbare) Tastaturkürzel. Standardmäßig Umschalt+Strg+F11 für Windows/Linux bzw. ⌃⇧+F11 für Mac. Siehe Abschnitt C.2.
- Web Über den Button »Inspektor« im CustomWebResolver installieren Knoten.
- Android Im Aufnahmefenster mithilfe des Fadenkreuz-Buttons in der Toolbar, siehe QF-Test Android-Aufnahmefenster.
Toolbar
Die Buttons in der Toolbar haben folgende Bedeutung:
![]() |
Komponente auswählen, um sie zu untersuchen. Während der Komponentenauswahl sind Aufnahme- und Check-Funktion deaktiviert, Aktionen werden nicht an das SUT weitergegeben. So können Komponenten im SUT per Mausklick mithilfe der im UI-Inspektor dargestellten Informationen untersucht werden. | |
![]() ![]() |
Navigieren im Komponentenbaum. Zusammen mit dem Inspektor-Modus wird auch die Historienfunktion aktiviert. Diese speichert die Selektionen in UI-Inspektor und Client und man kann rückwärts und vorwärts in diesen navigieren. | |
![]() |
Komponentenbaum aktualisieren. Ein Aktualisieren ist erforderlich, wenn sich Komponenten geändert haben oder Resolver installiert wurden. | |
![]() |
Unsichtbare Komponenten im Komponentenbaum anzeigen. Komponenten mit sichtbaren Kindern werden immer angezeigt. | |
![]() |
Geometrie-Informationen im Komponentenbaum anzeigen. |
UI-Inspektor-Detailansicht
Die Detailansicht gibt einen Überblick über die wichtigsten Eigenschaften einer Komponente. Die Ansicht ist in drei Teilbereiche untergliedert:
- Allgemein
- Dieser Bereich umfasst die grundlegenden Eigenschaften einer
Komponente, etwa ihre Klasse.
Abbildung 5.15: Allgemeine Informationen - Engine-spezifisch
-
Die Engine-spezifischen Details umfassen eher technische Informationen zu einer Komponente. Die zur Verfügung stehenden Information unterscheiden sich je nach verwendeter Technologie.
WebBei Web-Anwendungen sind es Informationen über das DOM-Element, etwa dessen HTML-Tag, die HTML-Attribute und der auslesbare Text.
Abbildung 5.16: Web-spezifische Informationen AndroidIn Android sind es Informationen über die Android-Komponente und beinhalten die inhaltliche Beschreibung, Ressourcen-ID, Paketname sowie Informationen über den Fenster-Typ und dessen Anordnung.
Abbildung 5.17: Android-spezifische Informationen Windows-TestsIn Windows-Anwendungen sind es Informationen über das Automation Element und beinhalten die wichtigsten UI Automation-Eigenschaften. Detaillierte Beschreibungen dieser Informationen finden Sie in Abschnitt 54.12.1.
Abbildung 5.18: Windows-spezifische Informationen SwingIn Swing-Anwendungen enthält der UI-Inspektor Informationen über die Swing-Komponente und die wichtigsten Accessible Properties sowie den Namen, Tooltip und die Clientproperties.
Abbildung 5.19: Swing-spezifische Informationen JavaFXIn FX-Anwendungen enthält der UI-Inspektor Informationen über die FX-Komponente und die wichtigsten Accessible Properties sowie den Style, ID, Tooltip und die Clientproperties.
Abbildung 5.20: FX-spezifische Informationen SWTIn SWT-Anwendungen enthält der UI-Inspektor Informationen über das SWT-Widget, wie benutzerdefinierte Daten, Tooltip, Schriftart, Sichtbarkeit und Aktivierungsstatus.
Abbildung 5.21: SWT-spezifische Informationen - QF-Test spezifisch
-
Diese Informationen sind an den bekannten Komponente-Knoten Knoten angelehnt. Sie eignen sich gut, um zu überprüfen, ob ein erstellter Resolver wie gewünscht funktioniert.
Abbildung 5.22: QF-Test spezifische Informationen
Die Detailansicht kann zusätzlich die Informationen zu zwei verschiedenen Komponenten nebeneinander darstellen, so dass man diese leicht vergleichen kann. Dazu klickt man mit der rechten Maustaste auf einen anderen Knoten im Komponentenbaum und wählt »Vergleichen« aus dem Kontextmenü. Über »Vergleichsknoten zurücksetzen« aus dem Kontextmenü oder mithilfe des Schließen-Buttons der Detailansicht wird man die Vergleichsansicht wieder los.