jMeter - Funktionen
JMeter-Funktionen und Benutzervariablen
JMeter-Funktionen sind spezielle Werte, mit denen Felder eines Samplers oder eines anderen Elements in einem Testbaum ausgefüllt werden können.
Ein Funktionsaufruf sieht so aus -
${__functionName(var1,var2,var3)}
_functionName entspricht dem Namen einer Funktion. Zum Beispiel${__threadNum}.
Wenn ein Funktionsparameter ein Komma enthält, stellen Sie sicher, dass Sie dies mit "\" maskieren, wie unten gezeigt -
${__time(EEE\, d MMM yyyy)}
Variablen werden als - bezeichnet
${VARIABLE}
Liste der Funktionen
Die folgende Tabelle listet eine Gruppe von Funktionen auf, die lose in Typen gruppiert sind -
Funktionstyp | Name | Kommentar |
---|---|---|
Information | threadNum | Thread-Nummer abrufen. |
Information | samplerName | Holen Sie sich den Namen des Samplers (Label). |
Information | machineIP | Rufen Sie die IP-Adresse des lokalen Computers ab. |
Information | Maschinenname | Rufen Sie den lokalen Computernamen ab. |
Information | Zeit | Gibt die aktuelle Zeit in verschiedenen Formaten zurück. |
Information | Log | Protokollieren (oder anzeigen) Sie eine Nachricht (und geben Sie den Wert zurück). |
Information | logn | Protokollieren (oder Anzeigen) einer Nachricht (leerer Rückgabewert). |
Eingang | StringFromFile | Lesen Sie eine Zeile aus einer Datei. |
Eingang | FileToString | Lesen Sie eine ganze Datei. |
Eingang | CSVRead | Aus CSV-getrennter Datei lesen. |
Eingang | XPath | Verwenden Sie einen XPath-Ausdruck, um aus einer Datei zu lesen. |
Berechnung | Zähler | Generieren Sie eine inkrementelle Nummer. |
Berechnung | intSum | Fügen Sie int-Nummern hinzu. |
Berechnung | longSum | Fügen Sie lange Zahlen hinzu. |
Berechnung | Zufällig | Generieren Sie eine Zufallszahl. |
Berechnung | RandomString | Generieren Sie eine zufällige Zeichenfolge. |
Berechnung | UUID | Generieren Sie eine zufällige UUID vom Typ 4. |
Skripting | BeanShell | Führen Sie ein BeanShell-Skript aus. |
Skripting | JavaScript | Verarbeiten Sie JavaScript (Mozilla Rhino). |
Skripting | jexl, jexl2 | Bewerten Sie einen Commons Jexl-Ausdruck. |
Eigenschaften | Eigentum | Lesen Sie eine Eigenschaft. |
Eigenschaften | P. | Lesen Sie eine Eigenschaft (Kurzmethode). |
Eigenschaften | setProperty | Legen Sie eine JMeter-Eigenschaft fest. |
Variablen | Teilt | Teilen Sie eine Zeichenfolge in Variablen auf. |
Variablen | V. | Bewerten Sie einen Variablennamen. |
Variablen | eval | Bewerten Sie einen variablen Ausdruck. |
Variablen | evalVar | Bewerten Sie einen in einer Variablen gespeicherten Ausdruck. |
String | regexFunction | Analysieren Sie die vorherige Antwort mit einem regulären Ausdruck. |
String | EscapeOroRegexpChars | Zitieren Sie Metazeichen, die vom regulären ORO-Ausdruck verwendet werden. |
String | verkohlen | Generieren Sie Unicode-Zeichenwerte aus einer Liste von Zahlen. |
String | entkommen | Prozesszeichenfolgen, die Java-Escapezeichen enthalten (z. B. \ n & \ t). |
String | unescapeHtml | HTML-codierte Zeichenfolgen dekodieren. |
String | EscapeHtml | Codieren Sie Zeichenfolgen mithilfe der HTML-Codierung. |
String | TestPlanName | Gibt den Namen des aktuellen Testplans zurück. |
Es gibt zwei Arten von Funktionen -
Benutzerdefinierte statische Werte (oder Variablen)
Eingebaute Funktionen
Mit benutzerdefinierten statischen Werten kann der Benutzer Variablen definieren, die durch ihren statischen Wert ersetzt werden sollen, wenn ein Testbaum kompiliert und zur Ausführung übermittelt wird.
Die Variablen können nicht verschachtelt werden. dh${Var${N}} funktioniert nicht.
Hierzu kann die Funktion __V (Variable) (Versionen nach 2.2) verwendet werden - $ {__ V (Var $ {N})}.
Diese Art des Austauschs ist ohne Funktionen möglich, jedoch weniger bequem und weniger intuitiv.
Verwendung von Funktionen und Variablen
Funktionen und Variablen können in jedes Feld einer beliebigen Testkomponente geschrieben werden.
Die folgenden Funktionen sollten in einem Testplan gut funktionieren -
- intSum
- longSum
- machineName
- BeanShell
- javaScript
- jexl
- random
- time
- Eigenschaftsfunktionen
- Protokollfunktionen
Funktionen, die im Testplan verwendet werden, unterliegen einigen Einschränkungen. JMeter-Thread-Variablen wurden bei der Verarbeitung der Funktionen nicht vollständig eingerichtet, sodass als Parameter übergebene Variablennamen nicht eingerichtet werden und Variablenreferenzen nicht funktionieren. Daher funktionieren split () und regex () sowie die Variablenauswertungsfunktionen nicht. Die Funktion threadNum () funktioniert nicht und ist auf Testplanebene nicht sinnvoll.
Variablen und Funktionen referenzieren
Das Referenzieren einer Variablen in einem Testelement erfolgt durch Klammern des Variablennamens mit '$ {' und '}'.
Funktionen werden auf die gleiche Weise referenziert, aber konventionell beginnen die Namen von Funktionen mit "__", um Konflikte mit Benutzerwertnamen zu vermeiden.
Einige Funktionen verwenden Argumente, um sie zu konfigurieren, und diese stehen in Klammern, durch Kommas getrennt. Wenn die Funktion keine Argumente akzeptiert, können die Klammern weggelassen werden. Zum Beispiel -
${__BeanShell(vars.put("name"\,"value"))}
Alternativ können Sie Ihr Skript als Variable definieren, z. B. im Testplan -
SCRIPT vars.put("name","value")
Das Skript kann dann wie folgt referenziert werden:
${__BeanShell(${SCRIPT})}
Der Funktionshilfedialog
Der Funktionshilfedialog ist bei JMeter erhältlich Options Tab.
Mit dem Funktionshelfer können Sie eine Funktion aus dem Pulldown auswählen und Werte für ihre Argumente zuweisen. Die linke Spalte in der Tabelle enthält eine kurze Beschreibung des Arguments. In der rechten Spalte schreiben Sie den Wert für dieses Argument. Unterschiedliche Funktionen haben unterschiedliche Argumente.
Sobald Sie dies getan haben, klicken Sie auf die Schaltfläche "Generieren", und die entsprechende Zeichenfolge wird generiert, die Sie kopieren und in den Testplan einfügen können, wo immer Sie möchten.
Vordefinierte Variablen
Einige Variablen werden intern von JMeter definiert. Sie sind -
COOKIE_cookiename - enthält den Cookie-Wert.
JMeterThread.last_sample_ok - ob das letzte Beispiel OK war oder nicht - wahr / falsch. Hinweis - Dies wird aktualisiert, nachdem PostProcessors und Assertions ausgeführt wurden.
START-Variablen.
Vordefinierte Eigenschaften
Einige integrierte Eigenschaften werden von JMeter definiert. Diese sind unten aufgeführt. Der Einfachheit halber werden die START-Eigenschaften auch in gleichnamige Variablen kopiert.
START.MS - JMeter-Startzeit in Millisekunden.
START.YMD - JMeter-Startzeit als JJJJMMTT.
START.HMS - JMeter Startzeit als HHmmss.
TESTSTART.MS - Teststartzeit in Millisekunden.
Beachten Sie, dass die START-Variablen / -Eigenschaften die JMeter-Startzeit und nicht die Teststartzeit darstellen. Sie sind hauptsächlich zur Verwendung in Dateinamen usw. vorgesehen.