Tutorial
Tutorial als Videoversion, in dem wir Sie Schritt für Schritt durch QF-Test führen...
Version 8.0.1 |
Seit QF-Test 7.0 bieten SmartIDs offiziell die Möglichkeit, Komponenten ohne Aufnahme eines 'Komponente' Knoten zu referenzieren.
Für gewisse Anwendungen kann dies die Verwaltung und Pflege der Komponenteninformationen stark vereinfachen.
Auch auf die Editier- und Lesbarkeit der Tests können SmartIDs positiven Einfluss haben.
Nicht zuletzt bietet dies die Möglichkeit, Tests auch ohne Aufnahmefunktion zu erstellen, zum Beispiel, wenn eine Komponente oder die gesamte Anwendung noch gar nicht vorhanden ist, man den Test aber bereits implementieren möchte ("Test first" Ansatz).
Als Wiedererkennungskriterien stehen die Komponentenklasse, deren Name oder Beschriftung und der Index zur Verfügung. Die Werte sind die gleichen wie beim aufgenommenen 'Komponente' Knoten. Zudem können auch Komponentenhierarchien abgebildet werden.
Eine SmartID wird an Stelle der QF-Test ID der Komponente verwendet. Ihr Kennzeichen
ist die Raute #
als erstes Zeichen. Anschließend kann der
Name oder die Beschriftung der Komponente geschrieben werden, zum Beispiel:
#btnOK
, mit "btnOK" als Namen der Komponente oder
#Vorname
, mit "Vorname" als Beschriftung der Komponente.
Der Nachteil dieser einfachen Form der SmartID kann die Performanz bei der Wiedergabe sein, da QF-Test alle Komponenten nach diesen Kriterien durchsuchen muss. Aus diesem Grund ist es sinnvoll, die Klasse der Komponente mit anzugeben. Obige SmartIDs könnten dann so aussehen:
#Button:btnOK
#TextField:Vorname
Aktuell ist die Aufnahme von SmartIDs nicht als Standard aktiviert, kann aber direkt über das Menü eingeschaltet werden.
Nehmen Sie nun SmartIDs auf, indem Sie
Die aufgenommenen Mausklicks finden Sie im Bereich 'Extrasequenzen'.
Die SmartID für das Eingabefeld lautet #TextField:name=DiscountValue
,
da der Name bevorzugt für die SmartID verwendet wird, wenn Name und
Beschriftung vorhanden sind.
Der zweite Mausklick zeigt die Aufnahme der Tabelle als SmartID und daran
anschließend einen Textindex für die Spalte, eingeleitet mit @
und einen
numerischen Index für die Zeile, eingeleitet mit &
,
wie Sie dies im
vorletzten Abschnitt kennengelernt haben:
#Table:name=VehicleTable@Modell&0
.
Sie können aber auch gerne weiter mit SmartIDs arbeiten. Dabei werden Sie bei Aufnahmen auch weitere Ausdrücke in SmartIDs finden. Einige wollen wir hier zeigen und die Hintergründe dazu erläutern.
Zum Beispiel werden Sie bei einer Beschriftung, die mit einem Doppelpunkt endet, vor diesem Doppelpunkt einen Rückstrich sehen:
#TextField:Vorname\:
Der Hintergrund ist, dass ein Doppelpunkt den davor stehenden Text als Komponentenklasse
kennzeichnet. Daher müssen Doppelpunkte im
Namen oder der Beschriftung mit einem Rückstrich geschützt werden. Dies gilt auch
für die Sonderzeichen, die Indizes einleiten, also @
, &
und %
.
Vor Beschriftungen werden Sie einen Kennzeichner, hier left=
sehen:
#TextField:left=Vorname
Hintergrund: Eine SmartID mit Angabe von Klasse und Namen der Komponente erreicht eine gleich gute Performanz bei der Wiedergabe wie die Verwendung von 'Komponente' Knoten. Bei Beschriftungen sieht dies jedoch anders aus. Hier gibt es unterschiedlichste Möglichkeiten, was die beste Beschriftung für eine Komponente darstellt. QF-Test sucht unter den für eine Komponente in Frage kommenden Beschriftungen auf Basis der Komponentenklasse, Lage und Abstand der Beschriftungen die Beste aus. Für die Performanz bei der Wiedergabe ist es daher hilfreich, wenn direkt angegeben wird, nach welcher Beschriftung gesucht werden soll.
left=
gibt hierbei an, dass die Beschriftung links der
Komponente zu finden ist. Weitere Lagebezeichnungen in einer SmartID sind
right=
, top=
, topleft=
und bottom=
.
Wenn die Beschriftung der Text der Komponente ist, lautet der
Kennzeichner text=
, für den Tooltip tooltip=
.
Wenn Komponenten mit dem gleichen Namen oder der
gleichen Beschriftung mehrmals auf einer Anzeige vorhanden sind,
können Sie auf SmartIDs stoßen, bei denen zwei über das
Verbindungszeichen @
zu einer vereinigt werden:
#TitledPanel:Kundenadresse@#TextField:left=Vorname
#TitledPanel:title=Rechnungsadresse@#TextField:left=Vorname
Im Beispiel gibt es die Beschriftung "Vorname" sowohl in der Kachel "Kundenadresse" als auch in der Kachel "Rechnungsadresse". Über die geschachtelte SmartID kann die Eindeutigkeit hergestellt werden.
Das zweite Beispiel ist etwas performanter wegen title=
bei der
SmartID bei der Kachel. Dafür ist die Lesbarkeit beim ersten etwas besser.
Es hängt von der Anwendung ab, wie sehr auf Performanz geachtet werden muss.
Bei Web-Anwendungen mit sehr vielen geladenen GUI-Elementen ist dies
typischerweise relevant. Bei Java-Anwendungen kann man häufig der Lesbarkeit
den Vorrang geben.
Bei langen Beschriftungen kann ein regulärer Ausdruck zur Verkürzung verwendet werden:
#%Dialog:Information.*@#Button:OK
Das Prozentzeichen direkt nach der Raute gibt an, dass entweder der Name oder die Beschriftung als regulärer Ausdruck zu interpretieren ist. Im Beispiel wird der Titel verkürzt. Außerdem gilt die SmartID für jeden OK-Button, der in einem Dialog liegt, dessen Titel mit "Information" beginnt. Eine genauere Beschreibung regulärer Ausdrücke finden Sie im Handbuch - reguläre Ausdrücke. Weitere Informationen zu Komponenten und SmartIDs finden Sie im Handbuch - Komponenten.
Letzte Änderung: 10.9.2024 Copyright © 2002-2024 Quality First Software GmbH |