Tutorial

Video Icon

Hier entsteht im Laufe der Zeit für jedes Kapitel des Tutorial ein Video, in dem wir Sie Schritt für Schritt durch QF-Test führen.

11.7
Verbesserte Web-Komponentenerkennunng

Wenn man unsere aufgenommenen Aktionen genau mit denen der Beispiel-Testsuite aus dem ersten Kapitel vergleicht, fallen kleine Unterschiede bei den aufgenommenen Komponenten auf.

Nimmt man zum Beispiel einen Klick auf das Modell "I5" in der Tabelle auf, bekommen wir jetzt etwas in der Form Mausklick [VehicleTable.td] wohingegen es in der Demosuite Mausklick [VehicleTable@Modell&5] war. Abgespielt lösen beide Klicks die gleiche Aktion aus und selektieren die sechste Zeile der Spalte Modell. Also warum sind die aufgenommenen Komponenten unterschiedlich und warum ist das von Bedeutung?

Web-Anwendungen haben einen begrenzten Satz von Basiskomponenten, die in sehr flexibler Weise genutzt werden können, um komplexe Komponenten und Designs aufzubauen. Ein Beispiel sind HTML Tabellen, die sowohl für das Seitenlayout genutzt werden als auch für die Darstellung logischer Tabellen wie der Fahrzeugtabelle. Ohne zusätzliche Informationen kann QF-Test nicht wissen, wo genau die Layout-Tabelle endet und die logische Tabelle beginnt. Dies ist der Grund warum aktuell VehicleTable.td aufgezeichnet wird. Das "td" kommt vom HTML Table Data Element "TD" und zeigt an, dass es sich um eine Tabellenzelle handelt, aber nicht mehr. QF-Test kann diesem keine logische Zeile bzw. Spalte zuordnen.

Die Demosuite ErsteWebTests.qft aus dem ersten Kapitel installiert beim Browser-Start sogenannte "Resolver", die diese zusätzlichen Informationen generieren. Sie teilen QF-Test z.B. mit, wo die logische Tabelle Fahrzeuge beginnt und welche spezielle Eigenschaft sie hat, wodurch sich die Zeile und Spalte der Zelle ermitteln lässt, die QF-Test dann in der Form VehicleTable@Modell&5 darstellt. Diese Resolver wurden speziell für den WebCarConfigurator erstellt.

Das folgende Bild zeigt den Knoten für die Registrierung der Resolver in der Testsuite ErsteWebTests.qft mit einigen Konfigurationsparametern.

Web resolver
Abbildung 11.15:  Web Resolver Registrierung in der ErsteWebTests.qft

Hinweis An dieser Stelle ist es nur wichtig, dass Sie wissen, dass es verschiedene Möglichkeiten gibt, die Komponentenerkennung durch Resolver zu verbessern.

QF-Test analysiert automatisch die Struktur von Webanwendungen, erkennt die meistverwendeten Web GUI Toolkits (wie Angular, ExtJS, GWT, SmartGWT, Vaadin,...) und installiert passende vordefinierte Resolver.

Offensichtlich sind aber nicht alle Webanwendungen ausschließlich mit solch einem Toolkit entwickelt und nicht für alle Toolkits gibt es vordefinierte Resolver in QF-Test. Sie können durchaus auch auf selbstentwickelte Komponenten stoßen.

Wenn Sie also mit dem Testen Ihrer eignen Webanwendung beginnen und auf Schwierigkeiten stoßen, dass Komponenten beim Abspielen von Aktionen nicht verlässlich wieder erkannt werden, dann kann es Zeit sein, über einen Resolver nachzudenken. Sollten Sie für die Resolvererstellung Hilfe benötigen, kontaktieren Sie bitte unseren Support (support@qfs.de) für Unterstützung.

Es gibt ein Kapitel in der Technischen Referenz des Handbuchs, das tiefergehende Informationen zu CustomWebResolvern enthält und auch wie man bei der Implementierung eines solchen vorgeht, wenn Sie dies probieren möchten.