QF-Test abstrahiert die Klassen von aufgezeichneten Komponenten von den konkreten
technischen Klassen zu sogenannten
generischen Klassen, welche für alle unterstützten GUI Engines einheitlich sind.
Mit diesem Konzept soll zum die Lesbarkeit
und das Verständnis der Komponenten erhöht werden. Des weiteren kann damit
erreicht werden, dass
bereits erstellte Tests auch bei einem Wechsel der Technologie
bzw. dem Parallelbetrieb mehrerer Technologien wiederverwendet werden
können.
Neben der generischen Klasse zeichnet QF-Test auch generische Typen auf,
welche eine konkretere Angabe über die Art der Komponenten
beinhalten. Ein typischer Anwendungsfall hierfür sind
Passwortfelder. Diese Felder sind von der generischen Klasse
TextField
. Allerdings besitzen Passwortfelder noch den
speziellen Charakter, dass sie für Passworteingaben gedacht sind,
deshalb hat ein Passwortfeld zusätzlich den Typ
PasswordField
. Die komplette generische Klasse
lautet somit TextField:PasswordField
.
Mit diesen Typangaben können bei der Wiedererkennung mit generischen
Klassen bestimmte Kategorien von Komponenten genauer eingegrenzt und
somit genauer erkannt werden.
Ein großer Vorteil dieser Typen ist, dass sie im Web-Umfeld bei der Zuordnung generischer Klassen
frei vom Anwender vergeben werden können und dann später, beim Mapping anderer
generischer Klassen, darauf referenziert werden kann. Ein Beispiel hierzu finden
Sie in installCustomWebResolver
- Tabelle und TreeTable.
Insbesondere bei Webanwendungen bietet die Verwendung von generischen Klassen die
folgenden Vorteile:
-
Die Aufnahme zusätzlicher Wiedererkennungsmerkmale, speziell des 'Merkmal'
Attributs und
qfs:label
in 'Weitere Merkmale', je nach generischer
Klasse.
-
Die Bereitstellung klassenspezifischer Checks, zum Beispiel der
Check einer ganzen Zeile bei einer Komponente mit der generischen Klasse
Table
.
-
Die Indexierung von Unterelementen bei
der Aufnahme,
d.h. bei der Aufnahme eines Klicks auf eine Tabellenzelle wird
nur für die Tabelle selbst ein 'Komponente' Knoten angelegt und die
Tabellenzelle im 'Mausevent' Knoten über die Tabelle und einen Index
referenziert.
-
Die Aufnahme des generischen Typs, soweit sinnvoll.
-
Bei Mausklicks entweder die Aufnahme der am besten geeignete Position oder der genauen Koordinaten,
worauf der Klick später abgespielt werden soll.
-
Allein durch die Zuordnung einer aufgenommenen Komponente zu einer generischen Klasse
wird die Komponentenerkennung gegenüber unspezifischen HTML-Klassen geschärft.
Welche Informationen im Einzelnen abgespeichert
werden ist in Eigenschaften von generischen Klassen hinterlegt.