4.0+59
Generische Klassen

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 'CustomWebResolver' – Tabelle.

Insbesondere bei Web-Anwendungen bietet die Verwendung von generischen Klassen die folgenden Vorteile:

  • Die Aufnahme zusätzlicher Wiedererkennungsmerkmale, speziell des 'Merkmal' Attributs und qfs:label*-Varianten 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 den folgenden Abschnitten hinterlegt. Die in der Rubrik "qfs:label*" verwendeten Begriffe werden in Tabelle 5.3 den konkreten Wiedererkennungsmerkmalen zugeordnet.

Accordion

BusyPane

Button

Calendar

CheckBox

Closer

ColorPicker

ComboBox

Divider

Expander

FileChooser

Graphics

Icon

Indicator

Item

Label

Link

List

LoadingComponent

Maximizer

Menu

MenuItem

Minimizer

Panel

Popup

ProgressBar

RadioButton

Restore

ScrollBar

Separator

Sizer

Slider

Spacer

Spinner

SplitPanel

Table

TableCell

TableFooter

TableHeader

TableHeaderCell

TableRow

TabPanel

Text

TextArea

TextField

Thumb

ToggleButton

ToolBar

ToolBarItem

ToolTip

Tree

TreeNode

TreeTable

Window