Handbuch
Version 8.0.1 |
Im 'Merkmal' Attribut wird, grob gesagt, ein Text abgelegt, der für die Wiedererkennung nützlich ist und direkt mit der Komponente selbst in Verbindung steht. Dies kann entweder der Text der Komponente sein (z.B. Beschriftung auf einem Button), eine programmtechnisch zugeordnete Beschriftung/Label der Komponente (z.B. CheckBox, RadioButton, TextField) oder ein Titel ('Fenster', Dialog, TitledPanel). Bei einer 'Webseite' die URL. Die konkreten Werte, die in Frage kommen, sind klassen- und technologiespezifisch. Für alle Engines außer Web siehe Generische Klassen. Für Web gelten die in 'Merkmal' bei Web-Komponenten beschriebenen Zuordnungen.
Häufig ist der Wert des 'Merkmal' mit dem in 'Weiteres Merkmal'qfs:labelBest
identisch. Dies liegt daran, dass
die Beste Beschriftung für die Komponente in einer der
qfs:label*
-Variantenabgespeichert wird und
dies meist der Text ist, der direkt mit der Komponente in Verbindung steht.
Die Redundanz macht dennoch Sinn, da für das weitere Merkmal der Status gesetzt werden kann:
'Ignorieren', 'Sollte übereinstimmen' oder 'Muss übereinstimmen'.
Für das 'Merkmal' gilt implizit immer der Status 'Sollte übereinstimmen'.
Es kann aber aus Gründen der Rückwärtskompatibilität nicht von
den qfs:label*
-Varianten abgelöst werden.
Der Einfluss des 'Merkmal' bei der Generierung der 'QF-Test ID' ist in Generierung der 'QF-Test ID' der Komponente beschrieben. Beispiele hierzu finden Sie in Woran erkennt man eine robuste Komponentenerkennung?.
Komponenten können in einer SmartID auch direkt über das 'Merkmal' adressiert werden, ohne Aufnahme eines 'Komponente'-Knoten.
Im Video 'Komponentenerkennung' wird die Verwendung von regulären Ausdrücken in Fenstertiteln ab Minute 13:07 erläutert.
In vielen Applikationen werden Sie auf die Situation treffen, dass keine eindeutigen Namen seitens der Entwicklung vergeben wurden und QF-Test dieselben Komponenten immer wieder an unterschiedlichen Stellen aufzeichnet. Die Wiedergabe dieser aufgezeichneten Komponenten funktioniert dann meistens solange sich die Geometrie des Fensters nicht drastisch verändert.
In diesem Fall ist es wahrscheinlich, dass der Titel des Hauptfensters sich immer wieder ändert, z.B. kann der Titel die aktuelle Versionsnummer, den gerade eingeloggten Benutzer oder einen Dateinamen beinhalten. Wenn Sie Ihre Tests stabil halten wollen und die unterschiedlich aufgezeichneten Fenster als einen 'Fenster' Knoten unter dem 'Fenster und Komponenten' Knoten behandeln wollen, dann selektieren Sie den 'Fenster' Knoten und editieren Sie dessen 'Merkmal' Attribut. Dort ersetzen Sie den dynamischen Teil durch einen regulären Ausdruck und haken dabei die Checkbox 'Als Regexp' an. Nun sollten Ihre Tests wieder funktionieren.
Hier sehen Sie ein Beispiel für einen regulären Ausdruck für eine Komponente des CarConfigurators, deren 'Merkmal' mit dem Wort 'Fahrzeuge' beginnt, aber danach einen beliebigen dynamischen Teil enthalten kann:
Abbildung 5.8: Ein regulärer Ausdruck im 'Merkmal' Attribut |
Reguläre Ausdrücke finden bei QF-Test an vielen Stellen Verwendung. Im Abschnitt 48.3 finden Sie detaillierte Informationen zu ihrer Verwendung.
Das 'Merkmal' für Web-Komponenten wird gemäß der folgenden Logik ermittelt:
Frame
oder Document
sind, wird die URL
in das 'Merkmal' Attribut eingetragen.
id
-Attribut des HTML-Elements verwendet, soweit vorhanden und eindeutig genug.
Falls nicht, wird der Text des HTML-Elements, bei Bedarf gekürzt, im
'Merkmal' Attribut eingetragen.
| |||||||||||||||||||||||||||||
Tabelle 5.1: 'Merkmal' Attribut für Web-Komponenten |
Bei sehr speziellen Konstellation kann das 'Merkmal' Attribut auch einen Wert erhalten, der von obiger Logik abweicht.
Letzte Änderung: 10.9.2024 Copyright © 1999-2024 Quality First Software GmbH |