Filter¶
Der Filter kann je nach Kontext zur Auswahl bestimmter Elemente verwendet werden und unterstützt bei der Erstellung mit einer Auto-Vervollständigung.
Einfache Filter¶
Mit einem einfachen Filter können Dateien gesucht werden, deren Dateiname die eingegebene Zeichenkette enthält.
Platzhalter
- ‚?‘
Platzhalter für exakt ein beliebiges Zeichen
- ‚*‘
Platzhalter für beliebig viele Zeichen
Beispiele
Datenbasis:
Testcase123.pkg
Testcase236.pkg
Testcase366.pkg
Testcase499.pkg
Filtern nach Dateinamen:
Test --> [Testcase123.pkg, Testcase236.pkg, Testcase366.pkg, Testcase499.pkg]
23 --> [Testcase123.pkg, Testcase236.pkg]
Testcase*6 --> [Testcase236.pkg, Testcase366.pkg]
Testcase1?3 --> [Testcase123.pkg]
Erweiterte Filter¶
Mit erweiterten Filtern können Dateien anhand verschiedener Eigenschaften und Attribute gesucht werden. Dabei lassen sich über Operatoren auch mehrere Filterkriterien kombinieren.
Keywords
Keywords erlauben es, bestimmte Eigenschaften einer Datei abzufragen und für ein Filterkriterium zu verwenden.
Keyword |
Typ |
Beschreibung |
|---|---|---|
PATH |
String |
Pfad der Datei im Workspace |
NAME |
String |
Name der Datei im Workspace |
TEST_MANAGEMENT_ID |
String |
Testmanagement-ID des Packages oder Projekts |
VERSION |
String |
Version des Packages |
DESCRIPTION |
String |
Beschreibung |
TODO |
String |
TODO des Packages |
VARIABLE_NAME |
String |
Name einer Variable |
PARAMETER_NAME |
String |
Name eines Parameters |
RETURN_PARAMETER_NAME |
String |
Name eines Rückgabeparameters |
KEYWORD_ID |
String |
ID eines Schlüsselworts im Package |
FILE_REFERENCE |
List(String) |
Datei-Referenz im Package |
PROGRAM_VERSION |
Nummeric |
Programmversion mit welcher das Package erstellt wurde |
IS_TEST_CASE |
Boolean |
Gibt an ob das Package einen Testfall repräsentiert |
Zusätzlich zu den fest definierten Keywords, können die in Dateien (z.B. Projekte und Packages) angegebenen Attribute als Keyword verwendet werden.
Info
Keywords müssen entweder mit einfachen oder doppelten Anführungszeichen umschlossen werden, sobald sie Leerzeichen enthalten.
Platzhalter
- ‚?‘
Platzhalter für exakt ein beliebiges Zeichen
- ‚*‘
Platzhalter für beliebig viele Zeichen
Allgemeine Operatoren
- ‚=‘
Prüft auf Identität
- ‚!=‘
Prüft auf Ungleichheit
Operatoren für numerische Eigenschaften
‚<‘, ‚<=‘, ‚>=‘ und ‚>‘ können für den Vergleich von Zahlenwerten verwendet werden.
Operatoren für Listeneigenschaften
- ‚has‘
Prüft ob eine Liste von Werten eine bestimmte Zeichenkette enthält
- ‚hasnot‘
Prüft ob eine Liste von Werten eine bestimmte Zeichenkette nicht enthält
Operatoren für komplexe Ausdrücke
- ‚and‘
Und-Operatoren: Beide Teilausdrücke müssen erfüllt werden
- ‚or‘
Oder-Operatoren: Einer der Teilausdrücke muss erfüllt werden
Beispiele
Datenbasis:
Testcase123.pkg:
"Tester": "John Doe"
"Status": "Draft"
"Testlevel": ["System", "SubSystem"]
"Estimated Duration [min]": 2
Testcase236.pkg:
"Tester": "Peter Smith"
"Status": "In Review"
"Testlevel": ["SubSystem"]
"Estimated Duration [min]": 5
Testcase366.pkg:
"Tester": "Peter Jones"
"Status": "Ready"
"Testlevel": ["Component"]
"Estimated Duration [min]": 8
Testcase499.pkg:
"Tester": "Peter Jonas"
"Status": "In Review"
"Testlevel": ["System"]
"Estimated Duration [min]": 8
Filtern nach Dateinamen (einem einfachen Filter entsprechend):
NAME = "*Testcase*" --> [Testcase123.pkg, Testcase236.pkg, Testcase366.pkg, Testcase499.pkg]
NAME = "*23*" --> [Testcase123.pkg, Testcase236.pkg]
NAME = "*Testcase*6*" --> [Testcase236.pkg, Testcase366.pkg]
NAME = "*Testcase1?3*" --> [Testcase123.pkg]
Filtern nach Textattributen:
"Tester" = "John Doe" --> [Testcase123.pkg]
"Tester" = "Peter Jon?s" --> [Testcase366.pkg, Testcase499.pkg]
"Tester" = "Peter*" --> [Testcase236.pkg, Testcase366.pkg, Testcase499.pkg]
"Status" != "Ready" --> [Testcase123.pkg, Testcase236.pkg, Testcase499.pkg]
Filtern nach numerischen Attributen:
"Estimated Duration [min]" = 8 --> [Testcase366.pkg, Testcase499.pkg]
"Estimated Duration [min]" < 5 --> [Testcase123.pkg]
"Estimated Duration [min]" <= 5 --> [Testcase123.pkg, Testcase236.pkg]
"Estimated Duration [min]" > 8 --> []
"Estimated Duration [min]" != 8 --> [Testcase123.pkg, Testcase236.pkg]
Filtern von Listenattributen:
"Testlevel" has "System" --> [Testcase123.pkg, Testcase499.pkg]
"Testlevel" has "*System" --> [Testcase123.pkg, Testcase236.pkg, Testcase499.pkg]
"Testlevel" hasnot "System" --> [Testcase236.pkg, Testcase366.pkg]
Filtern nach Boolschen Eigenschaften:
IS_TEST_CASE = True --> [Testcase123.pkg, Testcase499.pkg]
IS_TEST_CASE = False --> [Testcase236.pkg, Testcase366.pkg]
Kombination von Filterausdrücken:
"Tester" = "Peter*" and "Testlevel" has "System" --> [Testcase499.pkg]
"Tester" = "John Doe" or "Status" = "In Review" --> [Testcase123.pkg, Testcase499.pkg]
"Tester" = "John Doe" or "Status" = "In Review" and "Testlevel" has "System" --> [Testcase123.pkg, Testcase499.pkg]
"Tester" = "John Doe" or ("Status" = "In Review" and "Testlevel" has "System") --> [Testcase123.pkg, Testcase499.pkg]
("Tester" = "John Doe" or "Status" = "In Review") and "Testlevel" has "System" --> [Testcase499.pkg]
Info
Und-Operator wird immer vor Oder-Operator ausgewertet. Dies kann durch Klammerung beeinflusst werden.
Formale Definition
Die Filtersprache ist folgendermaßen definiert: