Operatoren und Funktionen
Das Beispiel zeigt die Liste der Operatoren und Funktionen, die sich auf die in der folgenden Abbildung gezeigten Testfälle beziehen. Der Ausgang der Suche ist der Ordner Testfälle. Weitere TQL-Abfragebeispiele finden Sie in Kapitel "TQL-Praxisbeispiele".
Beispiele - Ausgangssituation
Pfeil Operatoren |
|
---|---|
-> |
Durchsucht die Ebene unter dem Startpunkt, ->SUBPARTS findet den Testfallordner PKW und die Testfälle PKW 1, 1 PKW, LKW und Motorrad |
=> |
Durchsucht alle Ebenen unter dem Startpunkt, =>SUBPARTS findet alle Testfallordner, Testfälle, Testschritte und Testschrittwerte |
== |
gleich, =>SUBPARTS:TestCase[Name=="PKW"] findet den Testfall PKW |
=i= |
gleich, keine Berücksichtigung von Groß-/Kleinschreibung, =>SUBPARTS:TestCase[Name=i="pkw"] findet den Testfall PKW |
!= |
ungleich, =>SUBPARTS:TestCase[Name!="PKW"] findet die Testfälle PKW 1, 1 PKW, LKW und Motorrad |
!i= |
ungleich, keine Berücksichtigung von Groß-/Kleinschreibung |
< |
kleiner, =>SUBPARTS:XTestStepValue[(Name=="DateOfBirth")AND(Value<"01.01.1980")] findet den Testschrittwert DateOfBirth |
> |
größer, =>SUBPARTS:XTestStepValue[(Name=="DateOfBirth")AND(Value>"12.12.1970")] liefert kein Ergebnis |
<= |
kleinergleich, =>SUBPARTS:XTestStepValue[(Name=="DateOfBirth")AND(Value<="01.01.1980")] findet den Testschrittwert DateOfBirth |
>= |
größergleich, =>SUBPARTS:XTestStepValue[(Name=="DateOfBirth")AND(Value>="12.12.1970")] findet den Testschrittwert DateOfBirth |
=~ |
es folgt ein Ausdruck bestehend aus regulären Ausdrücken, =>SUBPARTS:TestCase[Name=~"^PKW"] findet die Testfälle PKW und PKW 1, ^ markiert den Wortanfang |
=i~ |
es folgt ein Ausdruck bestehend aus regulären Ausdrücken - Groß-/Kleinschreibung wird ignoriert |
=? |
ist der rechte Teil im linken Teil enthalten, =>SUBPARTS:TestCase[Name=?"PKW"] findet die Testfälle PKW, PKW 1 und 1 PKW |
=i? |
ist der rechte Teil im linken Teil enthalten - Groß-/Kleinschreibung wird ignoriert |
!? |
ist der rechte Teil nicht im linken Teil enthalten, =>SUBPARTS:TestCase[Name!?"PKW"] findet die Testfälle LKW und Motorrad |
!i? |
ist der rechte Teil nicht im linken Teil enthalten - Groß-/Kleinschreibung wird ignoriert |
AND |
Und-Verknüpfung zweier Elemente, =>SUBPARTS:TestCase[(Name=="PKW")AND(Name=="LKW")] liefert kein Ergebnis |
OR |
Oder-Verknüpfung zweier Elemente, =>SUBPARTS:TestCase[(Name=="PKW")OR(Name=="LKW")] findet die Testfälle PKW und LKW |
+ , - , * , : |
Addition, Subtraktion, Multiplikation und Division |
Sonstige Terminal-Symbole |
|
---|---|
DIGITS |
beliebige Integer-Zahlenfolge |
TEXT |
beliebige Buchstabenfolge, meist Element-Namen, Typenbezeichnungen oder Ähnliches |
SUBPARTS |
alle Kindelemente des aktuellen Elements |
SUPERPART |
Alle Elternelemente des aktuellen Elements |
AllReferences |
Kindelemente und deren Verknüpfungen des aktuellen Elements, ->AllReferences |
RETURN |
Die Suchfunktion liefert als Ergebnis die Elemente der Ebene vor der RETURN steht |
Negation, =>SUBPARTS:TestCase[NOT(Name=="PKW")AND(Name=="LKW")] findet alle Testfälle |
Funktionen |
|
---|---|
Count(“assocname“) |
liefert die Anzahl der assoziierten Elemente, =>SUBPARTS:TestCase[Count("Items")==0] findet alle Testfälle ohne Testschritte und Testschrittordner: PKW 1, 1 PKW, LKW und Motorrad. |
SELF |
liefert sich selbst als Objekt |
EVALCP("tcp") |
Gibt den Wert eines Testkonfigurationsparameters zurück. =>SUBPARTS:TestCase[EVALCP("Browser") == "InternetExplorer"] gibt alle Testfälle zurück, die den Testkonfigurationsparameter Browser mit dem Wert InternetExplorer enthalten. |
OBJECTS(“id“{,“id“}) |
Objekte werden anhand ihrer UniqueID und/oder NodePathName ermittelt, ->OBJECTS("-84917") findet das Objekt mit der angegebenen UniqueID |
PROJECT |
unabhängig vom Suchstartpunkt liefert diese Funktion das Project-Objekt, ->PROJECT findet das Projektwurzelelement |
UNION(query{,query}) |
ermittelt die Vereinigungsmenge |
INTERSECTION(query{, |
ermittelt die Schnittmenge |
COMPLEMENT(query{,query}) |
ermittelt die Komplementärmenge |
SORT(query, “condition“) |
sortiert die Abfrage nach Kriterien (siehe Kapitel "Abfragen in virtuellen Ordnern speichern"). ->Sort(=>Subparts:TestCase, "Name") findet alle Testfälle und sortiert sie alphabetisch aufsteigend (A-Z). Mit "+ condition" oder "- condition" kann angegeben werden, ob aufsteigend (+) oder absteigend (-) sortiert werden soll. |
SUBSET |
liefert den innerhalb der Runden Klammern angegebenen Mengenbereich. Es kann ein Index angegeben werden, bis zu dem das Ergebnis angezeigt werden soll, oder ein bestimmter Bereich definiert werden, der als Ergebnis angezeigt werden soll. Syntax: <Pfeil Operator>Subset(<Suchabfrage>, <Index>, <Range>) Die Angabe der Range ist optional. ->SUBSET(=>SUBPARTS:TestCase, 3) findet die ersten drei Testfälle im Testfallordner Testfälle: PKW, PKW 1 und 1 PKW, ->SUBSET(=>SUBPARTS:TestCase, 3, 2) findet 1 PKW und LKW |
![]() |
Datums- und Zeitformate müssen bei einem Vergleich unter Anführungszeichen gesetzt werden. Enthalten Operatoren Größer- oder Kleinerzeichen (<, >, <=, >=) ist nur ein Vergleich von Datums-, Zeit- oder Zahlenformaten möglich. Können jedoch bei einem String-Vergleich beide Strings in Gleitkommazahlen umgewandelt werden, wird dieser auf einen DOUBLE-Vergleich zurückgeführt und die Verwendung der obengenannten Operatoren ist möglich. |
Gleitkommazahlen in der TQ- Suche
Bei der Suche nach Eigenschaften mit Gleitkommazahlen, die den Datentyp DOUBLE besitzen, muss statt dem Komma ein Punkt verwendet werden
Syntax: |
<Vergleichsoperator><Zahl.Zahl> |