using post processor jmeter
In diesem Tutorial lernen Sie die Verwendung von JMeter Post Processor wie Regular Expression Extractor, BeanShell, JDBC, Boundry Extractor usw.:
Es gibt zwei Arten von Prozessoren Präprozessor und Postprozessor .
Der Pre-Prozessor wird vor der Sampler-Ausführung ausgeführt. Postprozessoren werden verwendet, um die Antwortdaten vom Server auszuführen und die spezifischen extrahierten Werte für die spätere Verwendung zu speichern.
Postprozessoren sind Aktionen, die ausgeführt werden, nachdem Ihr Sampler ausgeführt wurde. Sie können sie verwenden, um einige Aktionen für Ihre Antwort auszuführen oder einige Werte aus der Antwort zu extrahieren und sie in einer Variablen zu speichern, die später verwendet werden kann.
=> Klicken Sie hier für Das komplette kostenlose Training auf JMeter (20+ Videos)
Was du lernen wirst:
- Video-Tutorial zum JMeter-Postprozessor
- JMeter POST-Prozessoren
- # 1) Extraktor für reguläre Ausdrücke
- # 2) CSS / JQuery Extractor
- # 3) XPath-Extraktor
- # 4) Ergebnisstatus-Aktionshandler
- # 5) BeanShell-Postprozessor
- # 6) JSR223 Postprozessor
- # 7) JDBC-Postprozessor
- # 8) JSON-Pfad-Postprozessor
- # 9) Randextraktor
- # 10) Debuggen Sie den Postprozessor
- FAQ zum Postprozessor
- Fazit
Video-Tutorial zum JMeter-Postprozessor
Der Postprozessor für reguläre Ausdrücke verwendet die Zeichenfolge für reguläre Ausdrücke, um einige Werte aus der Antwort Ihrer Anfrage abzurufen. Die extrahierten Werte können in einer beliebigen Variablen gespeichert werden und können eine Referenz für jede weitere Anforderung im Testplan sein. Beim Hinzufügen dieses Prozessors können Werte aus dem Antworttext, dem Header, der URL, dem Antwortcode und anderen bereitgestellten Feldern extrahiert werden.
JMeter POST-Prozessoren
Der Postprozessor wird ausgeführt, wenn die Ausführung der Sampler-Anforderung abgeschlossen ist. Es gibt verschiedene Postprozessoren, die in JMeter verwendet werden.
Die Elementliste enthält:
- Extraktor für reguläre Ausdrücke
- CSS / JQuery Extractor
- XPath Extractor
- BeanShell-Postprozessor
- Ergebnisstatus-Aktionshandler
- JSR223 Postprozessor
- JDBC-Postprozessor
- JSON-Pfad-Postprozessor
- Boundary Extractor
- BSF-Postprozessor
- Debuggen Sie den Postprozessor
Lassen Sie uns diese JMeter-Postprozessoren durchgehen:
# 1) Extraktor für reguläre Ausdrücke
Extraktor für reguläre Ausdrücke wird verwendet, um die zu bekommen Information von dem Antwort des Servers . Es verwendet Perl-Typ Regulärer Ausdruck zum Extrahieren der Information, d. h. Werte. Dieser Prozessor wird ausgeführt, nachdem jede Sampler-Anforderung ausgeführt wurde.
Wie es funktioniert:
Sampler-Anfrage -> Wenden Sie den Extraktor für reguläre Ausdrücke an -> Informations- / Wertextraktion -> Generierung von Vorlagenzeichenfolgen -> Speicherung des extrahierten Wertes / der Informationen in einem bestimmten Variablennamen
- Erstellen Sie einen Testplan
- Thread-Gruppe hinzufügen
- Sampler 'HTTP Request' hinzufügen
- Fügen Sie den Prozessor 'Extraktor für reguläre Ausdrücke' hinzu.
Bewerben bei: “ Anwenden auf ”hat 4 Optionen.
- Hauptprobe und Unterprobe: Dies gilt sowohl für Hauptproben als auch für Nebenproben.
- Nur Hauptproben: Es wird nur auf die Hauptproben angewendet.
- Nur Unterproben: Es wird nur auf Unterproben angewendet.
- JMeter-Variable: Die Extraktion wird nur auf die benannte Variable angewendet.
Zu überprüfendes Feld: Das zu überprüfende Feld bietet eine Reihe von Optionen. Alle Feldnamen sind selbsterklärend, wie der Name schon sagt.
- Körper stellt den Hauptteil der Antwort dar, d. h. den Inhalt ohne Überschriften.
- Körper (ohne Flucht): Hauptteil der Antwort, bei der der gesamte HTML-Escape-Code ersetzt wurde.
- Körper als Dokument - - Aus der Anzahl der Dokumente werden Daten extrahiert.
Name der erstellten Variablen Der extrahierte Text wird gespeichert.
Regulären Ausdruck passt das Muster an den zu extrahierenden Text an. ’. +?’ stellt eine einzelne Instanz des von den Tags platzierten Texts dar.
Vorlage: Die Vorlage wird verwendet, um einen String für die Übereinstimmung der extrahierten Werte zu erstellen.
$ 1 $ steht für Gruppe 1
Match No (0 für Random): Um herauszufinden, welche als Variable ausgewählt werden soll.
- 0 zeigt an eine zufällige Wert aus den gefundenen Ergebnissen.
- N-te Nummer zeigt die n-te Nummer aus den gefundenen Ergebnissen.
- Irgendein Negativ Nummer - zeigt das an alle Daten sollte sein extrahiert .
Standardwert: Der Referenzwert wird für den Fall auf den Standardwert gesetzt Regulärer Ausdruck stimmt nicht überein.
Listener View-Ergebnisbaum hinzufügen.
# 2) CSS / JQuery Extractor
CSS Selector Extractor wird verwendet, um die Werte / Informationen aus dem zu extrahieren HTML-Antwort des Servers.
Wie es funktioniert:
- Testplan erstellen
- Thread-Gruppe hinzufügen
- Fügen Sie dem Thread den Sampler 'HTTP Request' hinzu.
- Prozessor hinzufügen “ CSS Selector Extractor ”Und geben Sie die folgenden Details an:
Implementierung des CSS / JQuery-Extraktors : Für die Implementierung stehen zwei Optionen zur Auswahl:
- Sind p
- Jodd-Eidechse
Falls standardmäßig keine der Implementierungen ausgewählt ist Sind p gilt als.
CSS-Selektorausdruck: Zur Extraktion kann der CSS-Locator verwendet werden. Angenommen, der Benutzer muss die Liste der Städte, aus denen der Flug abfliegt, auf einer Buchungsseite extrahieren. Der Benutzer kann im Feld einen CSS-Locator bereitstellen, um das erwartete Ergebnis zu erhalten.
Der CSS-Selektorausdruck wird verwendet, um Knoten aus den HTML-Antwortdaten vom Server auszuwählen.
Fügen Sie den Listener 'Ergebnisbaum anzeigen' hinzu, um die Ergebnisse anzuzeigen.
# 3) XPath-Extraktor
XPath Extractor Verwendet Xpath-Abfragesprache Wert extrahieren aus XML- oder X-Antworten (HTML).
Nehmen wir ein Beispiel für die Verwendung des Xpath-Extraktors:
- Erstellen Sie einen Testplan
- Thread-Gruppe hinzufügen
- Fügen Sie der Thread-Gruppe das Standardkonfigurationselement für die HTTP-Anforderung hinzu und geben Sie den Servernamen oder die IP an.
- Fügen Sie zwei HTTP-Sampler hinzu und geben Sie den Detailpfad an.
- Fügen Sie den Xpath-Extraktor hinzu und geben Sie folgende Details an:
- Name des Erstellers: Das Ergebnis wird in dem erstellten Variablennamen gespeichert, der in diesem Feld angegeben ist.
- Xpath-Abfrage: Abfrage in XPath-Sprache.
- Match No (0 für Random): 0 extrahiert zufällige Werte und -1 extrahiert alle Werte.
- Standardwert: NOTFOUND
- Der Standardwert NOT FOUND wird zurückgegeben falls keine Übereinstimmung gefunden wird.
Verwenden Sie ordentlich sollte ausgewählt werden, damit die HTML-Antwort in XHTML konvertiert wird.
- Debug Sampler hinzufügen. Es wird zum Debuggen des Skripts verwendet und das Ergebnis kann über den hinzugefügten Listener angezeigt werden.
- Listener als View Result Tree hinzufügen.
# 4) Ergebnisstatus-Aktionshandler
Ergebnisstatus Mit dem Aktionshandler kann der Benutzer die Aktion auswählen, die ausgeführt werden soll, wenn der Sampler einen Fehler erhält.
Folgende Maßnahmen können ergriffen werden:
- Fortsetzen
- Starten Sie die nächste Thread-Schleife
- Faden stoppen
- Test beenden
- Stoppen Sie den Test jetzt
- Stromschleife unterbrechen
- Fahren Sie mit der nächsten Iteration der aktuellen Schleife fort
Nehmen wir ein Beispiel, wenn die Test jetzt beenden Option ist ausgewählt.
- Erstellen Sie einen Testplan
- Prozessor hinzufügen -> Ergebnis Status Action Handler und wählen Sie Option Jetzt testen beenden
- Konfigurationselement hinzufügen -> Die Standardeinstellungen für die HTTP-Anforderung und geben die Servername oder IP
- Sampler hinzufügen -> HTTP-Anfragen mit Pfadressourcen /
- Fügen Sie einen weiteren Sampler mit falschem Pfad hinzu
- Fügen Sie einen weiteren Sampler mit einem Pfad für die Homepage hinzu.
- Listener hinzufügen -> Zeigen Sie die Ergebnisse in der Tabelle an und führen Sie das Skript aus.
Da jetzt der Stop-Test als Aktion ausgewählt wurde, ließ der Prozessor den nächsten Sampler nicht laufen.
# 5) BeanShell-Postprozessor
Dieser Prozessor wird nach dem Sampler ausgeführt.
Setzen Sie bsh.Interpreter vor jedem Aufruf zurück: Für jeden Sampler wird der Interpreter neu erstellt, falls diese Option ausgewählt ist.
Parameter: Parameter sind diejenigen, die an das Bean-Shell-Skript übergeben werden.
Skriptdateien: Skriptdatei ist die Datei, in der das Beanshell-Skript zum Ausführen gespeichert ist.
Skript: Skript ist das Beanshell-Skript.
# 6) JSR223 Postprozessor
In diesem Prozessor wird das Skript nur angewendet, wenn der Sampler ausgeführt wurde.
Nehmen wir ein Beispiel dafür:
- Erstellen Sie einen Testplan
- Thread-Gruppe hinzufügen
- Sampler hinzufügen -> HTTP-Anforderung an den Thread und Angabe des Servernamens oder der IP.
- Fügen Sie den Prozessor hinzu 'JSR223 Postprozessor' zum Faden. Wählen Sie die Sprache Groovy wie im folgenden Screenshot:
Schreiben Sie ein Skript mit der folgenden Syntax und beobachten Sie die Ergebnisse in Protokollen:
Protokolle kann mit geschrieben werden Variablen sowie wie im folgenden Bildschirm angezeigt:
Neue Variablen können ebenfalls hinzugefügt werden. Siehe dazu den folgenden Screenshot.
Fügen Sie dem Thread und dem Listener einen Debug-Sampler als Ergebnisbaum anzeigen hinzu und führen Sie den Test aus.
# 7) JDBC-Postprozessor
SQL-Abfragen werden ausgeführt, nachdem der Sampler ausgeführt wurde, um die Änderungen vorzunehmen, die nach Abschluss des Tests rückgängig gemacht werden müssen oder nicht erforderlich sind.
Es kann verwendet werden von,
- Erstellen eines Testplans
- Fügen Sie die JDBC-Verbindungskonfiguration mit Details zu URL und Anmeldeinformationen hinzu.
- Fügen Sie eine JDBC-Anforderung hinzu, die die Eingaben wie Variablennamen und die Ausgabe als Ergebnisvariablenname bereitstellt. Der Abfragetyp kann wie folgt aus der Liste ausgewählt werden:
- Fügen Sie den Debug-Sampler hinzu, um die Variablenwerte anzuzeigen.
- Listener Listener View Results Tree hinzufügen, um die Ergebnisse anzuzeigen.
undefinierter Verweis auf Funktion in Header-Datei c ++
# 8) JSON-Pfad-Postprozessor
Dies Prozessor erhält die Daten von der JSON-Antwort mit JSON-Pfadsyntax. Es wird unter dem Sampler erstellt, der eine Antwort hat.
- Erstellen Sie einen Testplan
- Fügen Sie dem Testplan eine Thread-Gruppe hinzu.
- Fügen Sie eine Sampler-HTTP-Anforderung hinzu.
- Fügen Sie das Konfigurationselement als 'HTTP-Header-Manager' hinzu.
- Prozessor hinzufügen als JSON-Pfadprozessor
- Fügen Sie den JSR223-Prozessor hinzu, wählen Sie die Bean-Shell-Sprache aus und stellen Sie ein Skript bereit.
- Fügen Sie den Listener 'Ergebnisbaum anzeigen' hinzu.
- Führen Sie den Test aus.
Der Name des erstellten Feldes ist derjenige, in dem das Ergebnis gespeichert wird. $ .name im JSON-Pfadausdruck repräsentiert alle Namen, die im Ergebnis enthalten sein sollen. Die Übereinstimmungsnummer 0 ist für die Auswahl eines Zufallswerts. Wenn in diesem Fall nichts zurückgegeben wird, wird dies angezeigt name_not gefunden .
# 9) Randextraktor
Grenzabzieher extrahiert Daten aus dem Grenzen der Serverantwort nachdem der Sampler ausgeführt wurde. Nachdem Daten / Werte extrahiert wurden, muss die Vorlagenzeichenfolge generiert und die Ergebnisse unter dem angegebenen Variablennamen gespeichert werden.
Wie benutzt man:
- Testplan erstellen
- Fügen Sie dem Testplan einen Thread hinzu
- Sampler hinzufügen -> HTTP-Anfrage im Thread.
- Fügen Sie den Boundary Extractor-Prozessor hinzu und geben Sie die Details wie im Screenshot gezeigt ein:
Name der erstellten Variablen: Das Ergebnis wird in dem erstellten Variablennamen gespeichert, der in diesem Feld angegeben ist.
Linke Grenze : Wert der zu findenden linken Grenze.
Rechte Grenze : Wert der zu findenden rechten Grenze.
- Fügen Sie den JSR223-Prozessor hinzu, um das Ergebnis in Protokollen zu drucken.
# 10) Debuggen Sie den Postprozessor
Dieser Prozessor wird verwendet, wenn ein Sampler debuggt werden muss. Er wird diesem Sampler als untergeordnetes Element hinzugefügt.
FAQ zum Postprozessor
F # 1) Kann JMeter für Unit-Tests verwendet werden?
Antworten : Ja, es kann für Unit-Tests verwendet werden. Es kann als Unit-Test-Tool für Webservices, FTP, LDAP, JDBC-Datenbankverbindungen (Java Database Connectivity) und TCP-Verbindungen verwendet werden.
F # 2) Wie speichere ich einen Anforderungshauptteil in JMeter?
Antworten : Um eine Anfrage zu speichern, kann der Listener 'View Result Tree' verwendet werden.
Hinzufügen-> Listener-> Ergebnisbaum anzeigen -> Schaltfläche Konfigurieren-> Wählen Sie aus, in welchem Typ Daten gespeichert werden sollen
F # 3) Wie ist die Ausführungsreihenfolge von JMeter-Elementen?
Antworten :: Nachfolgend ist die Ausführungsreihenfolge von Jmeter-Elementen aufgeführt, wenn mehrere Elemente in der Thread-Gruppe vorhanden sind.
- Konfigurationselemente
- Pre-Prozessor (Nur wenn sie auf einen Sampler angewendet werden)
- Timer (Nur wenn sie auf einen Sampler angewendet werden)
- Sampler
- Postprozessor (Nur wenn sie auf einen Sampler angewendet werden)
- Behauptungen (Nur wenn sie auf einen Sampler angewendet werden)
- Zuhörer
F # 4) Was ist JSR223 in JMeter?
Antworten : JSR223 ist eine Skript-API für Java-Sprachen. JMeter verfügt über Elemente wie JSR223-Sampler, JSR223-Vorprozessor, JSR223-Postprozessor und JSR223-Listener. JSR223 hilft bei der Ausführung von Skripten, die in verschiedenen Sprachen geschrieben sind.
F # 5) Ist JMeter gut für API-Tests?
Antworten : Es ist ein Open-Source-Tool, das sowohl für API-Tests als auch für Funktions-, Leistungs-, Last- und Automatisierungstests verwendet werden kann.
F # 6) Welche Sprache wird in JMeter verwendet?
Antworten : Groovy-Sprache wird meistens verwendet und ist geeignet, da die Groovy-Skriptsprache einfach zu verwenden ist und in Java integriert werden kann, um das Skriptpotential zu erhöhen.
Fazit
Postprozessoren, wie der Name schon sagt, renne poste die Sampler-Ausführung . Alle Prozessoren spielen ihre eigene Rolle und extrahieren die Daten aus verschiedenen Antworten als Extraktor für reguläre Ausdrücke Verwendet Perl-Typ regulärer Ausdruck zum Extrahieren von Werten aus der Serverantwort, CSS Selector Extractor verwendet den CSS-Selektor zum Extrahieren von Daten aus HTML-Antworten .
XPath-Extraktor Verwendet XPath-Abfragesprache Daten extrahieren aus XML- oder XHTML-Antworten . JSON-Extraktor Verwendet JMESPath-Abfrage Sprache. Aktionshandler für den Ergebnisstatus Behandelt das Ergebnis, indem der Thread gestoppt werden kann, wenn der Sampler ausfällt. Grenzabzieher Extrahiert Werte aus den Grenzen der Serverantwort.
=> Klicken Sie hier für Das komplette kostenlose Training auf JMeter (20+ Videos)
Literatur-Empfehlungen
- Xpath Extractor Post-Prozessor in JMeter
- C # Regex Tutorial: Was ist ein regulärer C # -Ausdruck?
- C ++ Regex Tutorial: Reguläre Ausdrücke in C ++ mit Beispielen
- Java Regex Tutorial mit Beispielen für reguläre Ausdrücke
- JMeter Prozessoren und Controller
- MongoDB Regular Expression $ regex mit Beispiel
- Top 5 JMeter-Plugins und deren Verwendung (mit Beispielen)
- Wie und wann werden Postman Pre-Request- und Post Request-Skripte verwendet?