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:

../_images/filterLanguage.png