Handbuch

45.1.1
Generelle Konfigurationsmöglichkeiten

Die Prozedur installCustomWebResolver aus der Standardbibliothek qfs.qft bietet folgende Konfigurationsmöglichkeiten:

Zuordnung von HTML-Objekten zu funktionalen Komponenten
Funktionalen GUI-Objekten wie Buttons, Textfeldern, Datentabellen etc. können QF-Test Komponenten einer bestimmten generischen Klasse zugeordnet werden. Vorteile:
- die Aufnahme zusätzlicher Wiedererkennungsmerkmale,
- klassenspezifische Checks,
- die Indexierung von Unterelementen bei der Aufnahme,
- die Aufnahme eines generischen Klassentyps,
- die Schärfung der Wiedererkennung allein durch die generische Klasse gegenüber HTML-Klassen.

Die aufgenommenen Informationen hängen von der jeweiligen generischen Klasse ab. Was im Detail aufgenommen wird, ist in Generische Klassen beschrieben.
Verringerung der aufgenommenen Komponentenhierarchie
Es kann angegeben werden, welche Elemente der Webseite für den GUI-Test relevant sind und welche nicht, z.B. können HTML-Elemente, die zur Formatierung der Anzeige dienen, gezielt ignoriert werden. So kann die komplexe interne HTML-Struktur der Webseiten auf die für den Test relevanten Komponenten und Datenobjekte in QF-Test abgebildet werden.
VideoDas Video auf https://www.qfs.de/de/yt/web-testautomatisierung-40.html zeigt eindrucksvoll die Reduktion tief geschachtelter DOM-Strukturen.
Aktuelle Aufzeichnung Verbesserte Aufzeichnung
Klassische Aufzeichnung Verbesserte Aufzeichnung
Abbildung 45.1:  Verbesserte Komponentenauflösung am Beispiel des WebCarConfigurators
Verwendung alternativer Id-Attribute
Standardmäßig werden die HTML-Attribute id oder name für die Identifizierung verwendet und im 'Name' Attribut der Komponente abgespeichert. Wenn andere Attribute verwendet werden sollen, kann dies konfiguriert werden.
Identifizierung weiterer Erkennungsmerkmale
Es kann ein HTML-Attribut angegeben werden, dessen Wert für die Wiedererkennung im 'Merkmal' Attribut der Komponente abgespeichert werden sollen.

Ein HTML Objekt kann über die folgenden HTML Merkmale identifiziert werden:

  • auf Basis des class Attributs,
  • auf Basis eines beliebigen Attributs,
  • auf Basis des HTML-Tags.

Die einzelnen Zuordnungen können ihrerseits Bedingungen unterliegen. QF-Test bietet die folgenden Möglichkeiten, die einzelnen Zuordnungen weiter zu parametriesieren. Eine Kombination der Optionen ist möglich.

  • Verwendung regulärer Ausdrücke.
  • Zuordnung nur, wenn das Objekt in einem anderen Objekt einer bestimmten Klasse liegt, entweder in einer beliebigen oder einer fest definierten Ebene in der Objekthierarchie.
  • Zuordnung nur, wenn das Objekt zusätzlich zu den angegebenen Kriterien ein bestimmtes HTML-Tag besitzt.

Eine funktionale Komponente ist in HTML häufig durch mehrere, ineinander verschachtelte Elemente implementiert. Für die Aufnahme und Wiedergabe der Komponente in QF-Test ist es dabei völlig egal, welches der Elemente der funktionalen QF-Test Komponentenklasse zugeordnet wird. Entscheidend ist, dass die ausgewählte Komponente gute Wiedererkennungsmerkmale besitzt. Dabei werden von QF-Test auch die darin liegenden Objekte nach Wiedererkennungsmerkmalen und Texten durchsucht und für das zugeordnete Objekt abgespeichert. Beispiel: installCustomWebResolver - TabPanel und Accordion

Außerdem gibt es funktionale Komponenten, die in HTML durch mehrere Objekte implementiert werden müssen. Diese werden in QF-Test "komplexe Komponenten" genannt. Es handelt sich hierbei um Comboboxen, Listen, Bäume, Tabellen etc. So ist es zum Beispiel bei einer Liste notwendig, QF-Test mitzuteilen, welche Art von HTML Objekten den Container der Liste darstellen und welche die einzelnen Listeinträge.

Eine Aufstellung, der HTML Objekte, die den Teilen einer komplexen Komponente zugeordnet werden müssen, damit die komplexe Komponente selbst richtig erkannt werden kann, inklusive passender Beispiele, finden Sie in den folgenden Abschnitten:

In den meisten Fällen wird das Attribut class der HTML Komponenten signifikant für die Komponentenerkennung sein. In so einem Attribut finden Sie Informationen zur fachlichen Funktion der Komponente, z.B. ob es sich um einen Button oder eine Datentabelle handelt. Andere Webframeworks arbeiten mit dem type Attribut oder auch anderen Attributen der HTML Objekte. Außerdem gibt es auch eine Reihe von Frameworks, bei denen Sie nur mit speziellen JavaScript Methoden an diese Informationen herankommen. Für solche Frameworks sind zusätzlich zur Konfiguration mittels installCustomWebResolver weitere Resolver erforderlich. Wir konzentrieren uns hier für's Erste auf den Normalfall. Für das Vorgehen bei komplizierteren Fällen kontakieren Sie bitte unser Supportteam.