Handbuch
Version 8.0.1 |
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, aktuell für Android und Web.
Bei der Arbeit mit Skripten ist es manchmal hilfreich, wenn man sich eine Liste der Methoden eines GUI-Elements anzeigen lassen kann.
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.2.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.4).
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 53.11).
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.
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.
Abbildung 5.14: Beispiel für Allgemeine Informationen |
UI-Inspektor öffnen
Um den UI-Inspektor zu öffnen, haben Sie folgende Möglichkeiten:
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:
Abbildung 5.15: Allgemeine Informationen |
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 53.13.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 |
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.
Letzte Änderung: 10.9.2024 Copyright © 1999-2024 Quality First Software GmbH |