Werte bearbeiten

In einem OSV-Szenario stellen Modulattribute relevante Nachrichtenelemente dar, die Sie zum Testen verwenden, wie z. B. ein Datum oder eine Kundenkennung. Um diese Modulattribute während Ihrer Testaktivitäten zu steuern, verwenden Sie Werte und Aktionen.

Tricentis Tosca hilft Ihnen, Standardwerte und Aktionen hinzuzufügen, wenn Sie für Ihr OSV-Szenario die XTestschrittwerte generieren. Sie können diese Werte jedoch bei Bedarf ändern.

Welche Werte können Sie verwenden?

Es gibt zwei Arten von Werten, mit denen Sie arbeiten können:

  • Statische Werte, die vor der Ausführung bekannt sind.

  • Dynamische Werte, die bei der Ausführung ermittelt werden.

Für weitere allgemeine Informationen zu Werten siehe Kapitel "Werte angeben".

Wie können Sie Werte verwenden?

Die folgenden Kapitel enthalten praktische Beispiele für die Verwendung verschiedener Werte in Ihren OSV-Szenarien. Die Beispiele zeigen auch, welche Aktionen Sie mit den beschriebenen Werten verwenden können.

Datum und Uhrzeit eingeben

Sie können einen dynamischen Ausdruck verwenden, um Datums- und Zeitwerte in OSV anzugeben. So können Sie beispielsweise das aktuelle Datum als Bezeichner für eine Nachricht verwenden.

OSV verwendet UTC (koordinierte Weltzeit). Der Tosca Commander verwendet Ihre lokalen Zeiteinstellungen.

Syntax:

{<Ausdruck>[<Basisdatum>][<Offset>][<Format>]}

Aktionen: Insert, Input, Verify, WaitOn

Ausdruck

Sie können die Ausdrücke DATE und TIME verwenden:

  • Verwenden Sie DATE, wenn das Basisdatum nur ein Datum enthält.

  • Verwenden Sie TIME, wenn das Basisdatum auch eine Uhrzeit enthält.

Sie können Ausdrücke ohne Parameter angeben. Das folgende Beispiel verwendet das aktuelle Datum und die aktuelle Uhrzeit.

Aktuelles Datum=3. Nov. 2018, um 13:37:11 UTC:

{DATE} liefert 2018-11-03

{TIME} liefert 2018-11-03T13:37:11Z

Wenn Sie Ausdrücke mit Parametern angeben, müssen Sie das Basisdatum, den Offset und das Format des Parameters angeben.

Um das Standardverhalten auf einen der Parameter anzuwenden, lassen Sie den Parameterwert leer [].

Beispielsweise haben {DATE} und {DATE[][][]} dieselbe Bedeutung. Das System verwendet das aktuelle Datum ohne Abweichungen und im Zielformat, das Sie im Dialog Settings angegeben haben.

Im folgenden Beispiel identifiziert Tosca den ersten Tag des aktuellen Monats (monthfirst) mithilfe der Standardformateinstellungen.

01.{DATE[][][MM.yyyy]}

Basisdatum (base date)

Basisdaten sind Datumswerte nach dem Datumsformat von Tricentis Tosca.

Wenn Sie den Wert leer lassen, verwendet Tosca das aktuelle Datum als Basisdatum. Sie können auch Bufferwerte als Basisdatum verwenden.

Bufferdatum=2010-11-10:

{DATE[{B[Variable]}][+1M+1d][]} liefert 2010-12-11

Bufferdatum=20.12.2013:

{DATE[{B[Variable]}][-1M][01.MM.yyyy]} liefert 01.11.2013

Bufferdatum=2012-12-24T12:34:56Z:

{TIME[{B[Variable]}][+2d+1h][]} liefert 2012-12-26T13:34:56Z

Offset (Abweichung)

Der Offset gibt eine Abweichung vom Basisdatum an. Sie können Offsets hinzufügen oder abziehen. Sie bestehen aus einer ganzen Zahl (Integer) mit Vorzeichen und der Einheit.

Einheit

Bezeichnung

d

Tage

M

Monate

y

Jahre

h

Stunden

m

Minuten

s

Sekunden

Mit dem Ausdruck +3M-1d addieren Sie drei Monate zum Basisdatum und ziehen einen Tag ab.

Format

Format ermöglicht es Ihnen, das Format des Datumsausdrucks für das Testobjekt festzulegen (siehe Kapitel "Tosca-Datumsformate").

Wenn Sie ein Basisdatum und ein Format angeben, muss es mit dem Basisdatum übereinstimmen.

Wenn Sie kein Basisdatum angeben, verwendet das System das in der Datei <Tosca OSV-Programmdateien>\Config.yml definierte Format.

Sonderzeichen maskieren

Um Syntaxfehler bei Sonderzeichen wie }][{ zu vermeiden, verwenden Sie Anführungszeichen.

Syntax:

"<Sonderzeichen>"

Die Zeichenfolge "{{{Hi]]]" verursacht keinen Syntaxfehler.

Die Zeichenfolge {{{Hi]]] verursacht einen Syntaxfehler aufgrund falscher Klammern.

Zufallszahlen generieren

Verwenden Sie die Zufallszahl-Funktion, um ganze Zahlen zufällig zu generieren.

Syntax:

{RND[Anzahl der Stellen]}

Anzahl der Stellen gibt an, aus wie vielen Stellen die Zufallszahl besteht.

{RND[7]} erzeugt eine 7-stellige Zahl.

Syntax:

{RND[Anfangswert][Endwert]}

Anfangswert und Endwert geben die Ober- und Untergrenze des Zufallszahlenbereichs an.

Beispielsweise erzeugt {RND[-789[123]]} eine ganze Zahl zwischen -789 und 123.

Aktion: Insert

Buffer und grünen Buffer verwenden

In einem Buffer werden Werte von Nachrichtenelementen gespeichert.

Wenn der Name des Buffers mit einem Dollarzeichen $ beginnt, handelt es sich um einen grünen Buffer (siehe Kapitel "Grüner Algorithmus" und Kapitel "Aktion Verify").

Buffer definieren

Buffer

Syntax:

Buffername

Grüner Buffer

Syntax:

$grüner Buffername

Aktion: Buffer

Buffer verwenden

Buffer

Syntax:

{B[Buffername]}

Grüner Buffer

Syntax:

{B[$grüner Buffername]}

Aktion: Insert, Input, Verify

Splitbuffer verwenden

Um eine Payload in einem OSV-Szenario basierend auf einem Trennzeichen zu teilen, können Sie einen Splitbuffer definieren.

Buffer definieren

Syntax:

{Splitbuffer[_Trennzeichen_][_Basis für Buffernamen_]}

Aktion: Buffer

Buffer verwenden

Syntax:

{B[MyBuffer1]}

Aktion: Insert, Input, Verify

Wenn Ihre Eingabe beispielsweise 123;456;789;ABC ist und Sie {Splitbuffer[;][MyBuffer]} verwenden, ist das Ergebnis:

MyBuffer1 = 123, MyBuffer2 = 456, MyBuffer3 = 789, MyBuffer4 = ABC

XBuffer verwenden

Mit einem XBuffer können Sie Werte mithilfe der Aktion Buffer teilweise in den Buffer schreiben.

Sie können XBuffer für Payloads, Header, Ressourcen und Abfrageparameter verwenden. Sie können XBuffer jedoch nicht für Pfadparameter oder Anhänge verwenden.

Verwenden Sie die folgende Syntax innerhalb von Zeichenfolgen:

Syntax:

{XB[<Buffername>]}

In diesem Beispiel schreiben Sie nur die OrderID in den Buffer, die sich zwischen Transfer order und has been created befindet.

Dazu erstellen Sie einen XBuffer mit dem Buffernamen OrderID.

XBuffer verwenden

Zufallstext generieren

Mit der Zufallstextfunktion können Sie einen Zufallstext bestehend aus Großbuchstaben erzeugen, wobei n die Anzahl der Buchstaben ist.

Syntax:

{RANDOMTEXT[n]}

Aktion: Insert, Input

Eindeutige IDs generieren

Die eindeutige ID-Funktion erzeugt bei der Ausführung eindeutige IDs.

Syntax:

{UNIQUEID[n]}

Aktion: Insert, Input, WaitOn

Die erzeugte eindeutige ID ist n-Stellen lang.

Beispiel:

Für n=1 liegen die erzeugten IDs im Bereich 0 bis 9.

Für n=2 liegen die erzeugten IDs im Bereich 10 bis 99.

Für ein bestimmtes n stehen Ihnen 10n eindeutige IDs zur Verfügung.

Falls nicht genügend IDs zur Verfügung stehen und das System keine neue ID erzeugen kann, tritt ein Fehler auf. Starten Sie die Umgebung neu, um die eindeutigen IDs zurückzusetzen, oder verwenden Sie ein größeres n.

Verwenden Sie einen Buffer, um eine eindeutige ID mehrmals zu verwenden.

Reguläre Ausdrücke (Regex) verwenden

Verwenden Sie die Regex-Funktion, um Zeichenfolgen zu überprüfen.

Syntax:

{REGEX[Regulärer Ausdruck]}

oder

{REGEX["Regulärer Ausdruck"]}

Aktion: Verify, WaitOn

Sie können jeden .NET-kompatiblen regulären Ausdruck verwenden wie hier beschrieben: Kapitel ".NET-kompatible reguläre Ausdrücke verwenden".

Zufallszeichenfolgen mit regulären Ausdrücken generieren

Sie können zufällige Zeichenfolgen erzeugen, die durch reguläre Ausdrücke eingeschränkt sind. Sie müssen die regulären Ausdrücke in doppelten Anführungszeichen angeben.

Syntax:

{RANDOMREGEX["Regulärer Ausdruck"]}

Aktion: Insert, Input

{RANDOMREGEX["^[A-Z][a-z]+[0-9]{4}$"]} generiert einen Wert, der mit einem Großbuchstaben zwischen A-Z beginnt. Danach folgen beliebig viele Kleinbuchstaben und genau vier Ziffern zwischen 0-9. Das Zeichen ^ markiert den Zeilenanfang, das Zeichen $ das Zeilenende.

Der Ausdruck erzeugt beispielsweise Ecqwp1989.

Berechnungen durchführen

In Tricentis Tosca können Sie Berechnungen über den Ausdruck MATH durchführen.

Syntax:

{MATH[<Operand 1><Operator><Operand 2>..<Operator><Operand n>]}

Aktionen: Insert, Input, Verify

Als Operanden können Sie Zahlenwerte und wissenschaftliche Notationen verwenden.

Nachkommastellen müssen mit einem Dezimalpunkt getrennt werden.

In diesem Beispiel wird der Wert von Buffer A um 1 erhöht:

{MATH[{B[A]}+1]}

MATH Beispiel

Folgende Operatoren werden unterstützt:

Operator

Beschreibung

+, -, *, /

Grundrechnungsarten

%

Division mit Rest (Modulo operation)

^

Potenzierung

==

gleich

!=

ungleich

<

kleiner

>

größer

<=

kleiner-gleich

>=

größergleich

Die Verarbeitung der Operatoren erfolgt nach der Punkt-vor-Strich-Regel. Sie können dieses Verhalten jedoch durch die Verwendung von Klammern ändern.

Zeitstempel angeben

Der Zeitstempel zählt die verstrichenen Millisekunden seit Donnerstag, 1. Januar 1970 00:00:00 Uhr koordinierte Weltzeit (UTC).

Syntax:

{TIMESTAMP}

Aktion: Insert, Input

Zähler verwenden

Verwenden Sie den Konfigurationsparameter Counter, um den aktuellen Zählerstand zu erhalten.

Syntax:

{COUNTER}

Aktion: Insert, Input

Für den Konfigurationsparameter n ist {COUNTER} gleich 1, 2, 3,…, n in der ersten, zweiten, dritten,..., n-ten Nachricht.

Teilzeichenfolgen mit LEFT und RIGHT in den Buffer schreiben

Die Ausdrücke LEFT und RIGHT ermöglichen es Ihnen, Teilzeichenfolgen in den Buffer zu schreiben.

Syntax:

{LEFT[start][end][buffername]},{RIGHT[start][end][buffername]}

Aktion: Buffer

Ausdruck LEFT: liest den Bufferwert von links nach rechts.

Ausdruck RIGHT: liest den Bufferwert von rechts nach links.

Für die Parameter start und end (beide vom Typ Int32) gilt:

Nähere Informationen über Int32 finden Sie unter http://msdn.microsoft.com/en-us/library/system.int32.aspx.

Testzeichenfolge=ToscaOrchestrate

{LEFT[1][5][BufferA]} : schreibt Tosca in den Buffer BufferA.

{LEFT[6][9][BufferB]} : schreibt Orch in den Buffer BufferB.

{LEFT[15][20][BufferZ]} : schreibt te in den Buffer BufferZ.

{RIGHT[1][3][BufferC]} : schreibt ate in den Buffer BufferC.

{RIGHT[14][19][BufferY]}: schreibt Tos in den Buffer BufferY.

{RIGHT[30][35][BufferX]}: schreibt eine leere Zeichenfolge in den Buffer BufferX.

{LEFT[5][5][BufferD]}{LEFT[10][12][BufferE]}{RIGHT[2][6][BufferF]}: schreibt a in BufferD, est in BufferE und strat in BufferF.

Response-Zeit erhöhen

Sie können den Wert Ihrer Response Time erhöhen, um eine Response-Nachricht um Millisekunden zu verzögern.

Der von Ihnen angegebene Wert bestimmt die minimale Verzögerungszeit für Ihre Response-Nachricht. Faktoren wie Netzwerk-Latenz oder Verarbeitungszeit des OSV Host können die Response jedoch weiter verzögern.

Nachdem Sie das Modulattribut für eine Response-Zeitverzögerung eingestellt haben, fügen Sie einen Zahlenwert zwischen 0 und 10.000 hinzu.

Wert für Response Time definieren

Wenn Sie eine Verzögerung von mehr als 10 000 Millisekunden angeben möchten, empfiehlt Tricentis, Ihre ausgehenden Nachrichten zu planen.

Grünen Selektor verwenden

Sie können den grünen Selektor als einen Selektor im grünen Algorithmus zur Nachrichtenerkennung verwenden (siehe Kapitel "Grüner Algorithmus").

Syntax:

{optional}

Aktion: WaitOn

Mit XExcel arbeiten

Verwenden Sie die XExcel-Funktion, um Werte aus einer externen Microsoft Excel-Tabelle auszulesen. Sie können diese Funktion zusammen mit dem blauen Algorithmus zur Nachrichtenerkennung verwenden.

Syntax:

{XExcel["Pfad zur Exceldatei";Arbeitsblattname][IdentifierColumn;ScenarioNameColumn;UserNameColumn]}

Zum Beispiel: {XExcel["C:\Users\admin\Desktop\ISINListExample.xlsx";BICFI][Identifiers;ScenarioName;User]}

Aktion: WaitOn

Speichern Sie die Bezeichner zum Auslösen von Szenarien in der Excel-Tabelle. Geben Sie für jede mögliche Kombination aus Bezeichner und Szenario einen Benutzer (Tester) an.

Beispiel: Excel-Tabelle

Wenn Sie das Szenario in einem OSV Environment ausführen, füllt OSV die Nachrichtenelemente, die auf eine Excel-Tabelle verweisen, mit den entsprechenden Bezeichnern aus der Excel-Tabelle. Es legt den Benutzer als Tester für die jeweilige Szenario-Ausführung fest.

In diesem Beispiel werden für das Szenario PaymentTransaction_001 folgende Bezeichner berücksichtigt:

ACBKDEFF001, ACBKDEFF002, ACBKDEFF003, NCBKDEFF001

Wenn eine eingehende Nachricht den Bezeichner NCBKDEFF001 hat, verwendet das System den Benutzer Udo. Wenn der Bezeichner ACBKDEFF002 lautet, verwendet es den Benutzer Robert.