3.1+5.12
Untersuchung von Komponenten

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.

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.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 52.11).

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.

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 untersü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.

Inspector
Abbildung 5.14:  Beispiel für Allgemeine Informationen

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.
  • 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:

Inspektor-Modus  Inspektor-Modus ein- und ausschalten. Im Inspektor-Modus 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.
HistorieHistorie  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.
Neu Laden  Komponentenbaum aktualisieren. Ein Aktualisieren ist erforderlich, wenn sich Komponenten geändert haben oder Resolver installiert wurden.
Unsichbare Komponenten Anzeigen  Unsichtbare Komponenten im Komponentenbaum anzeigen. Komponenten mit sichtbaren Kindern werden immer angezeigt.
Geometrie Anzeigen  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.
    Allgemeine Informationen
    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.

    Web spezifische Informationen
    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.

    Android spezifische Informationen
    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 52.13.1.

    Windows spezifische Informationen
    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.

    Swing-spezifische Informationen
    Abbildung 5.19:   Swing-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.

    QF-Test spezifische Informationen
    Abbildung 5.20:  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.