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.