Pseudo DOM API für Web-Anwendungen

QF-Test bietet 'SUT-Skript' Knoten Zugriff auf einen Teil der DOM-API einer Web-Anwendung. Diese API entspricht nicht ganz der auf JavaScript-Ebene, auf welcher mittels der in diesem Kapitel beschriebenen Methoden toJS, callJS und evalJS mit der Web-Anwendung interagiert werden kann. Mit der DOM-API ist es möglich, das DOM zu traversieren und Attribute von DOM-Knoten auszulesen und zu setzen, aber nicht die Struktur des DOM zu verändern. Diese API ist damit hilfreich für die Implementierung von Name- oder FeatureResolvern (vgl. Abschnitt 53.1).

Bei Swing, FX und SWT arbeitet QF-Test mit den konkreten Java-GUI-Klassen, während bei Web-Anwendungen folgende pseudo Klassenhierarchie verwendet wird:

Pseudo Klassenhierarchie für Elemente von Web-Anwendungen
Abbildung 53.1:  Pseudo Klassenhierarchie für Elemente von Web-Anwendungen

Wie zu sehen, ist "NODE" die Wurzel der pseudo Klassenhierarchie. Diese Klasse passt auf jedes Element des DOM. Von "NODE" abgeleitet sind "DOCUMENT", "FRAME", "DOM_NODE" und "DIALOG", die Knotentypen, die die Pseudo-DOM-API implementieren, welches in Abschnitt 53.11 beschrieben ist. "DOM_NODE" wird an Hand des Tag-Namens des Knotens weiter spezialisiert, z.B: "H1", "A" oder "INPUT", wobei es für manche Tags zusätzliche Unterklassen wie "INPUT:TEXT" gibt.

HinweisDas DOM kann für verschiedene Browser unterschiedlich ausfallen. Daher sollten Sie versuchen, sich in Ihren Skripten und Resolvern nicht auf Kindindizes zu verlassen, falls Sie beabsichtigen mit mehreren Browsern zu testen.

Die DOM-API von QF-Test besteht aus den folgenden fünf Klassen:

Die abstrakte Klasse Node

Die Klasse DocumentNode

Die Klasse FrameNode

Die Klasse DomNode

Die Klasse DialogNode