55.5 Kriterien zur Identifizierung von Knoten
YAML-Rubrik node
Definitionsrelevante Knoten müssen ausreichend genau geschrieben werden, damit bei einer späteren Knotenumwandlung festgestellt werden kann, ob ein Knoten einer bestimmten Definition zugeordnet werden kann.
Hier erfahren Sie, welche Knoteninformationen dafür genutzt werden können, in welche Rubriken im YAML-Code sie eingetragen werden und die Vorgehensweise, wie die Automatische Erzeugung von Prozeduraufruf-Definitionen diese befüllt.
55.5.1 Knotentyp
YAML-Rubrik node type
Hier geben Sie an, welche Art von Ereignis erwartet wird, zum Beispiel
MouseEvent, TextInput, KeyEvent
oder CheckStep.
55.5.2 Knotenattribute
YAML-Rubrik attributes
Hier können Sie spezifizieren, welche Attributwerte bei den umzuwandelnden Knoten überprüft werden sollen. Dies kann zum Beispiel bei Check-Knoten der Name des Check-Typs oder Erwarteter Status sein, bei Mausevents die Modifiers. Eine besondere Rolle spielt das Attribut QF-Test ID der Komponente:
YAML-Eintrag component id
Die QF-Test ID der Komponente identifiziert die Komponente
vollständig. Wenn sie angegeben wird, brauchen keine Angaben in der Rubrik
component gemacht zu werden.
Bei der Knotenumwandlung wird dann nur die
QF-Test ID der Komponente des jeweiligen Knotens verglichen.
Sie muss exakt übereinstimmen, inklusive Indexangaben. Falls diese ignoriert werden
oder als Parameter in den Prozeduraufruf eingetragen werden sollen,
muss die QF-Test ID der Komponente ohne die Indexangaben in der Rubrik
component unter id eintragen werden.
Der exakte Vergleich bedingt, dass bei der Verwendung von SmartIDs die umzuwandelnden Knoten ebenfalls SmartIDs haben müssen - und umgekehrt, wenn keine SmartIDs verwendet werden.
Es gibt eine weitere Situation, bei der die Verwendung von component id
in der Rubrik attributes unter Umständen nicht funktioniert:
Und zwar, wenn bei der Aufnahme von Komponenten die Option
Gewichtung von Namen (Aufnahme) manchmal auf Hierarchie von Namen
und manchmal auf Name übertrifft alles gestellt war.
Sinnvoll wäre es, die Komponente zu bereinigen. Um den Aufwand zu
sparen, wird aber häufig der Einfachheit halber die Option auf Name übertrifft alles
gesetzt. Dies funktioniert für die Ausführung der Tests, für die Erstellung
von Definitionen stellt es aber eine Herausforderung dar.
Aus diesen Gründen werden bei der automatischen Erstellung von
Definitionen die Komponenteninformationen in der Rubrik
component eingetragen.
55.5.3 Komponentenwerte
YAML-Rubrik component
Alternativ zur Angabe der QF-Test ID der Komponente unter component id
in der Rubrik attributes
können die Kriterien, die die Komponente beschreiben, in der Rubrik
component hinterlegt werden. Auch hier spielt die QF-Test ID
eine herausragende Rolle:
- Eine QF-Test ID steht zur Verfügung
-
Die Angabe der
iderspart die Spezifizierung der übrigen Kriterien - mit Ausnahme von Subindizes, die hier nie Bestandteil deridsind, sondern immer in der RubriksubindexXangeben werden. Die zweite Ausnahme istscope, der dann relevant sein kann, wenn die Option Gewichtung von Namen (Aufnahme) aufName übertrifft allesgesetzt ist.Bei der Angabe einer SmartID geben Sie implizit die Erkennungskriterien (Klasse, Name, Feature, Extra Features) an. Wenn Sie eine verschachtelte SmartID verwenden, werden bei den umzuwandelnden Knoten dann auch die übergeordneten Komponenten geprüft, ob sie den Angaben entsprechenden.
Wenn die QF-Test ID ganz klassisch auf einen Komponente-Knoten verweist und die Option Gewichtung von Namen (Aufnahme) auf
Hierarchie von Namengesetzt ist, wird bei den umzuwandelnden Knoten geprüft, ob sie auf genau die gleiche Komponente verweisen. Wenn die Option Gewichtung von Namen (Aufnahme) aufName übertrifft allesgesetzt ist oder im umzuwandelnden Knoten eine SmartID angegeben ist, werden bei der Prüfung der umzuwandelnden Knoten zuerst Klasse und Name des referenzierten erwarteten Komponente-Knotens ausgelesen und diese dann mit Klasse und Name der vom umzuwandelnden Knoten referenzierten Komponente oder SmartID verglichen. - Die QF-Test ID steht nicht zur Verfügung
-
Wenn die QF-Test ID nicht für die Identifizierung des Knotens genutzt werden kann, können Sie Klasse, Name Merkmal sowie beliebige Weitere Merkmale angeben.
scopeund Subindizes können ebenfalls spezifiziert werden.Bei der Umwandlung werden sie dann in der folgenden Reihenfolge ausgewertet: zunächst die
classes, dann - sofern angegeben - dername. Ist keinnameangegeben, werdenfeatureundextra featuresverglichen. Falls bei der Klassenprüfung der Wert im Klasse-Attribut nicht übereinstimmt werden auch die Extra Featuresqfs:type,qfs:class,qfs:genericclassundqfs:systemclassberücksichtigt.scopeund Subindizes werden immer ausgewertet.
55.5.4 Statusangaben
YAML-Rubrik condition
Bei Definitionen, die für die Anwendung direkt im Anschluss an eine Aufnahme
ausgewertet werden sollen, können Sie auch bestimmte Zustände der GUI-Komponente
abfragen, die in den Aufnahmeinformationen vorhanden sind, aber nicht
im Knoten abgespeichert werden. Dies betrifft die Zustände checked,
editable, enabled,
selected und visible. Die Werte können über
Platzhalter.
in Ausdrücken des jeweiligen Skriptsprache genutzt werden.