Verbesserte Komponentenerkennung mittels CustomWebResolver
Video: 'CustomWebResolver in
QF-Test'.
HTML ist eine sehr flexible Sprache um den Inhalt und Aufbau einer Webseite zu beschreiben. Allerdings gibt es keine wirklichen Standards im Hinblick auf die Art und Weise wie Komponenten, die einen Button, ein Textfeld oder eine Tabelle, die Daten repräsentieren, aufgebaut werden sollen. Aus diesem Grund erstellt nahezu jedes Webframework seine Komponenten auf seine eigene Art. Dies bedeutet, dass die HTML-Struktur der Seite, der so genannte DOM Baum, je nach Framework unterschiedlich aussieht. Damit nun QF-Test die jeweiligen Objekte als Buttons oder Tabellen identifizieren kann, braucht es eine Art Übersetzungstabelle zwischen den Eigenschaften der Webseite und dem QF-Test Vokabular.
QF-Test bietet hierfür einen generischen, konfigurierbaren Ansatz, den
CustomWebResolver
, an. Dieser erlaubt es QF-Test, die
Komponentenerkennung ohne zu großen Aufwand individuell an die Spezifika Ihrer Webseite anzupassen.
Die Komponentenerkennung sollte vor der Erstellung von Testfällen geprüft und gegebenenfalls optimiert werden. Empfohlene Vorgehensweise:
- Aufnahme von GUI-Objekten, mit denen im Test interagiert werden soll, auf unterschiedlichen Webseiten der Applikation.
-
Prüfung der aufgenommenen QF-Test Komponenten,
- ob diesen Generische Klassen zugewiesen wurden,
-
ob sie ausreichend Wiedererkennungsmerkmale aufweisen (
Name und
Merkmal Attribute,
qfs:label*
-Varianten in Weitere Merkmale) - wie tief die Komponentenhierarchie ist
- ob komplexe Komponenten, also Tabellen, Listen, Bäume etc, als solche erkannt wurden und Unterelemente über Index referenziert werden.
- Falls Schwachstellen identifiziert werden, Untersuchen der jeweiligen GUI-Objekte auf unterschiedlichen Webseiten und Identifizierung der charakteristischen Attribute einer bestimmten Objektklasse und eindeutiger HTML-Attribute für Name und Merkmal-Attribute in QF-Test. Die Webseite kann mit UI-Inspektor untersucht werden.
-
Konfiguration der Komponentenzuordnung, siehe Der
CustomWebResolver installieren
Knoten. - Wenn bereits Tests bestehen: Aktualisierung bereits vorhandener Komponente Knoten, siehe Komponenten aktualisieren.