Verbesserte Komponentenerkennung mittels CustomWebResolver

Video 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äsentiert, 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:

  1. Aufnahme von GUI-Objekten, mit denen im Test interagiert werden soll, auf unterschiedlichen Webseiten der Applikation.
  2. Prüfung der aufgenommenen QF-Test Komponenten,
    • ob diesen Generische Klassen zugewiesen wurden,
    • ob sie ausreichend Wiedererkennungsmerkmale aufweisen ('Name' und 'Merkmal' Attribute, qfs:label 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.
    Detaillierte Informationen zur Standardaufnahme von Web-Objekten und Entscheidungskriterien, ob die Standardaufnahme ausreichend ist, finden Sie in Erkennung von Web-Komponenten und Toolkits.
  3. Falls Schwachstellen identifiziert werden, Untersuchung der jeweiligen GUI-Objekte auf unterschiedlichen Webseiten und Identifizierung der charakteristischen Attribute einer bestimmten Objektklasse und "guter" Attribute für 'Name' und 'Merkmal' Attribute.
  4. Konfiguration der Komponentenzuordnung, siehe Die Prozedur installCustomWebResolver.

Generelle Konfigurationsmöglichkeiten

Untersuchung einer Webseite

Die Prozedur installCustomWebResolver

installCustomWebResolver - Erweiterung eines Webframework-Resolvers

installCustomWebResolver - Tabelle und TreeTable

installCustomWebResolver - Baum und TreeTable

installCustomWebResolver - Liste

installCustomWebResolver - Combobox

installCustomWebResolver - TabPanel und Accordion

Beispiel für den WebCarConfigurator