how use preprocessors jmeter
In diesem Tutorial erfahren Sie, wie Sie JMeter PreProcessor verwenden und wie PreProcessors wie SampleTimeOut, UserParameter, HTMLLinkParser usw. funktionieren:
PreProcessor führt die Aktion immer vor der Sampler-Anforderung aus.
Unten finden Sie eine Liste der in JMeter verwendeten Präprozessoren:
- Benutzerparameter
- Beispiel-Timeout
- JSR223 Präprozessor
- JDBC-Präprozessor
- Bean Shell Präprozessor
- HTML Link Parser
- Modifikator zum erneuten Schreiben der HTML-URL
- RegEx-Benutzerparameter
=> Klicken Sie hier für Das komplette kostenlose Training auf JMeter (20+ Videos)
Was du lernen wirst:
JMeter PreProcessor Video Tutorial
PreProcessors sind Aktionen, die ausgeführt werden, bevor Ihr tatsächlicher Sampler in JMeter ausgeführt wird. Dies kann beispielsweise das Speichern von Werten einer Variablen, das Definieren von Zeitüberschreitungen usw. sein. Der Präprozessor kann auf Thread-Gruppenebene oder Sampler-Ebene hinzugefügt werden.
SampleTimeOut PreProcessor kann das Beispielzeitlimit für eine Anforderung definieren. Jede Probenentnahmezeit, die länger als die definierte ist, würde fehlschlagen. Mit UserParameter PreProcessor werden Werte für Variablen für bestimmte Benutzer definiert.
Beispiel Sie können einen Wert für eine Variable für bestimmte Benutzer definieren. Wenn der Sampler ausgeführt wird, werden die in diesem Präprozessor angegebenen Werte übernommen.
HTMLLinkParser analysiert alle Links aus der Antwort der vorherigen Anfrage und Sie können dann zufällig auf einen der Links auf der Seite klicken. Sie können '. *' In Ihrem Pfad angeben und es würde jeden zufälligen Link auf der Seite auswählen und diesen mit demselben Protokoll treffen, das in einem bestimmten Protokoll verwendet wird.
Welche Software benötigen Sie, um eine App zu erstellen?
Häufig verwendeter JMeter-Präprozessor
Lassen Sie uns einige der Vorprozessoren von JMeter durchgehen:
# 1) JSR223-Präprozessor
Der JSR223-Vorprozessor wird vor der Sampler-Anforderung ausgeführt und führt die Operation mit dem JSR223-Skript aus. Verschiedene Sprachen, die verwendet werden können, sind JAVA, Groovy, BeanShell, JEXL usw.
Führen Sie die folgenden Schritte aus, um diesen Vorprozessor hinzuzufügen:
- Fügen Sie eine Thread-Gruppe in einen Testplan ein.
- Fügen Sie den Sampler 'HTTP Request' hinzu.
- Fügen Sie den JSR223-Vorprozessor hinzu.
- Fügen Sie den Listener 'Ergebnisbaum anzeigen' hinzu.
Beispiel ::
Das folgende Skript kann mit JavaScript zum Ändern des HTTP-Anforderungs-Samplers geschrieben werden:
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET');
Für die Verwendung von Skripten stehen folgende JSR223-Variablen zur Verfügung:
- Log: Diese Variable kann zum Schreiben in die Protokolldatei verwendet werden.
- Parameter: Parameter als Zeichenfolge.
- Etikette: Es ist ein String-Label.
- Dateinamen: Dateiname eines Skripts, falls ein externes Skript hinzugefügt wird
- Deren: Dies ist eine JMeter-Variable, die den Lese- und Schreibzugriff auf die Variablen ermöglicht.
- Sampler: Der Zugriff auf den aktuellen Sampler ist möglich.
- Argumente: String-Array als Parameter
- Requisiten: JMeter-Eigenschaften
- ctx: Dies ist der JMeter-Kontext, der den Zugriff auf den Kontext ermöglicht
- AUS: So drucken Sie die Nachricht (system.out)
# 2) JDBC-Präprozessor
Mit diesem Prozessor können SQL-Abfragen ausgeführt werden, bevor der Sampler ausgeführt wird.
Um den Pre-Prozessor hinzuzufügen, gehen Sie wie folgt vor:
- Fügen Sie dem Testplan eine Thread-Gruppe hinzu.
- Fügen Sie den Sampler 'HTTP Request' hinzu.
- Fügen Sie den HTTP-Header-Manager hinzu.
- ADD JDBC PreProcessor zur Thread-Gruppe hinzufügen.
- Fügen Sie den Listener als 'Ergebnisbaum anzeigen' hinzu.
Beispiel:
Falls ein Benutzer Benutzername und Passwort für Benutzer abrufen möchte:
- Fügen Sie dem Testplan eine Thread-Gruppe hinzu.
- Sampler hinzufügen 'HTTP-Anfrage' (Details zu Benutzername und Passwort der erforderlichen Daten können auch im Hauptteil des Samplers angegeben werden, dies dient jedoch nicht dem Zweck, da die Aktualisierung in diesen Details im Skript als aktualisiert werden muss Gut)
- Fügen Sie das Konfigurationselement 'HTTP Header Manager' hinzu und geben Sie Details zu Name und Wert an.
- JDBC-Präprozessor hinzufügen.
Abfragetyp kann aus der Dropdown-Liste als ausgewählt werden Wählen Sie Anweisung und Abfrage können angegeben werden, um dasselbe im Feld Abfrage zu extrahieren.
Zu extrahierende Variablen können durch Kommatrennung versehen werden.
- Fügen Sie den Listener 'Ergebnisbaum anzeigen' hinzu und führen Sie den Testplan aus, um die Ergebnisse anzuzeigen.
JDBC-Vorprozessor hat Feld Abfragetyp das kann je nach Anforderung ausgewählt werden.
Wie für den Fall, dass der Benutzer möchte aktualisieren die Details, Anweisung aktualisieren muss verwendet werden. Ebenso kann nach Bedarf ein anderer Abfragetyp ausgewählt werden.
Beispiel für eine vorbereitete Select-Anweisung:
Wenn der Benutzer die Termin-ID eines Patienten aus den Datensätzen stornieren muss, die sich auf den Namen des Patienten beziehen, muss er die JDBC-Verbindung konfigurieren und dann einen JDBC-Präprozessor hinzufügen, der den Abfragetyp als auswählt Vorbereitete Select-Anweisung. Führen Sie den Testplan aus. Die Ergebnisse können vom hinzugefügten Listener angezeigt werden.
# 3) HTML Link Parser
Dieser Prozessor wird verwendet, um die HTML-Antwort zu analysieren und alle Links und Formulare zu extrahieren.
Führen Sie die folgenden Schritte aus, um den Vorprozessor hinzuzufügen:
- Fügen Sie dem Testplan eine Thread-Gruppe hinzu.
- Sampler 'HTTP Request' hinzufügen
- Einfachen Controller hinzufügen.
- Fügen Sie einen weiteren Sampler 'HTTP Request' hinzu.
- Fügen Sie den HTML Link Parser-Präprozessor hinzu.
- Fügen Sie den Listener 'Ergebnisbaum anzeigen' hinzu.
Beispiel:
Die folgenden Schritte können ausgeführt werden, um anzuzeigen, wie die internen Seiten gecrawlt werden können:
- Fügen Sie in der Thread-Gruppe den Sampler 'HTTP Request' hinzu und geben Sie den Servernamen oder die IP an. Benennen Sie den Sampler-Namen in HTTP Request_Main um.
- Fügen Sie Simple Controller zum Testplan hinzu.
- Fügen Sie einen weiteren Sampler 'HTTP Request' hinzu und geben Sie den Servernamen oder die IP sowie / an. * im Pfad, damit er zu allen gefundenen Links crawlen kann. Benennen Sie den Sampler-Namen in HTTP Request_Internal um.
- Fügen Sie den Präprozessor 'HMTL Link Parser' und den Listener als 'Ergebnisbaum anzeigen' hinzu, um die Ausgabe anzuzeigen.
Wenn Sie die obigen Schritte ausführen, ist die Ausgabe für den ersten Sampler der Name der Website im Anforderungsfeld, während für den zweiten Sampler die Ausgabe die internen Seiten sind, die auf der bereitgestellten Website gecrawlt werden. Beachten Sie auch die folgenden Screenshots.
# 4) Modifikator zum Umschreiben der HTTP-URL
Zum Verwalten der Sitzungsinformations-URL wird eine Neuschreibtechnik verwendet. Es hat den Vorteil, dass das Cookie auch dann funktioniert, wenn es auf einem System deaktiviert ist.
Um den Pre-Prozessor hinzuzufügen, gehen Sie wie folgt vor:
- Fügen Sie die Thread-Gruppe zum Testplan hinzu.
- Fügen Sie dem Testplan eine HTTP-Anforderung hinzu.
- Fügen Sie dem Testplan den Präprozessor 'HTTP URL Re-Writing Modifier' hinzu.
- Fügen Sie dem Thread einen weiteren Sampler 'HTTP Request' hinzu.
Wir können diesen Präprozessor wie folgt verwenden:
Dieser Präprozessor kann auf die Thread-Ebene und auch auf den spezifischen Sampler angewendet werden. Wenn es auf Thread-Ebene angewendet wird, wird das Argument für jede Anforderung hinzugefügt, die sich im Thread befindet.
Name des Sitzungsarguments : In diesem Feld muss der Name des Sitzungs-ID-Parameters angegeben werden. Der Parametername kann als Antwort gefunden werden. Dieser Parameter wird auf der Seite gesucht und wo immer er gefunden wird, wird sein zugewiesener Wert übernommen.
So öffnen Sie JNLP-Dateien in Windows 8
Pfaderweiterung: Falls die Anwendung die URL durch Hinzufügen eines Semikolons neu schreibt und auch die Sitzungs-ID enthält, sollte diese Option ausgewählt werden.
Verwenden Sie nicht gleich in der Pfaderweiterung: Falls die Anwendung URLs ohne die '=' Vorzeichen zwischen Parametername und Wert, diese Option sollte aktiviert sein.
Verwenden Sie in der Pfaderweiterung kein Fragezeichen - Wenn die Anwendung verhindern muss, dass die Abfragezeichenfolge in der Pfaderweiterung geschlossen oder endet, sollte die Option aktiviert sein.
Cache-Sitzungs-ID: Falls die Sitzungs-ID für die spätere Verwendung erforderlich ist, sollte diese Option ausgewählt werden.
URL-Code: Falls verschlüsselte URLs erforderlich sind, sollte diese Option ausgewählt werden.
# 5) RegEx-Benutzerparameter
Mit diesem Präprozessor kann der dynamische Wert für HTTP-Parameter mit dem Extraktor für reguläre Ausdrücke aus der HTTP-Anforderung abgerufen werden. In einem Testplan werden unabhängige Threads festgelegt.
Um den Pre-Prozessor hinzuzufügen, gehen Sie wie folgt vor:
- Fügen Sie einem Testplan eine Thread-Gruppe hinzu.
- Fügen Sie einer Thread-Gruppe mit einem Servernamen oder einer IP-Adresse eine HTTP-Anforderung hinzu.
- Fügen Sie den Postprozessor 'Regular Expression Extractor' hinzu, um Werte zu extrahieren.
- Fügen Sie einer Thread-Gruppe eine weitere HTTP-Anforderung hinzu und geben Sie den Servernamen oder die IP an.
- Fügen Sie der zweiten HTTP-Anforderung den Präprozessor 'Regex User Parameter' hinzu.
Dieser Präprozessor kann wie folgt verwendet werden:
Referenzname für reguläre Ausdrücke: Der angegebene Referenzname enthält die Variablen, die von der ersten HTTP-Anforderung analysiert wurden.
Parameternamen Regexp Gruppennummer: 1 repräsentiert die Gruppe 1 des regulären Ausdrucks. Es wird die zurückgeben Namen der Variablen .
Parameterwerte Regex-Gruppennummer: 2 repräsentiert die Gruppe 2 des regulären Ausdrucks. Es wird die zurückgeben Werte der Variablen .
# 6) BeanShell-Präprozessor
Dieser Präprozessor erhält einen zufälligen Wert aus einer bestimmten Liste. Es kann zufällige Zeichenfolgen generieren, um den Variablen Werte zuzuweisen.
BeanShell Preprocessor wird unter dem Sampler hinzugefügt.
Um den Pre-Prozessor hinzuzufügen, gehen Sie wie folgt vor:
- Fügen Sie dem Testplan eine Thread-Gruppe hinzu.
- Fügen Sie der Thread-Gruppe Sampler hinzu.
- Fügen Sie dem hinzugefügten Sampler 'BeanShell Preprocessor' hinzu.
Beispiel:
Wenn die benutzerdefinierte Variable als Wert auf 'true' gesetzt ist und dieser Wert in 'false' geändert werden muss, kann der unten angegebene Befehl verwendet werden, um dasselbe zu tun. (Löschen ist eine benutzerdefinierte Variable, deren Wert geändert werden muss.))
vars.put(“delete”,”false”);
Wenn ein externes Skript verwendet werden soll, kann in diesem Fall eine Datei für das Skript im Feld Dateiname hochgeladen werden. Die Option Durchsuchen wird bereitgestellt, um die externe Datei hochzuladen.
FAQs zu JMeter Preprocessor
F # 1) Was ist ein Präprozessor in JMeter?
Antworten : Präprozessor ist das Element, mit dem die Aktionen ausgeführt werden, bevor die Sampler-Anforderung ausgeführt wird. Es gibt eine Reihe von Vorprozessoren, mit denen verschiedene Zwecke erreicht werden können, z. B. das Beibehalten des Werts in der Variablen, das Abrufen von Daten aus Datenbanken usw. Präprozessoren können entweder auf Sampler-Ebene oder auf Thread-Ebene hinzugefügt werden.
F # 2) Was ist Beanshell Preprocessor in JMeter?
Antworten : BeanShell basiert auf Skripten und ist eine integrierte Komponente des JMeter. Dieser Präprozessor wird verwendet, um das Skript auszuführen, bevor der Sampler ausgeführt wird.
Fazit
JMeter-Präprozessoren - wie bereits erwähnt - werden kurz vor der Ausführung des Samplers ausgeführt. JSR223 und Beanshell sind skriptbasierte Präprozessoren JDBC wird für Datenbankaktivitäten verwendet, da das Abrufen oder Abrufen der Daten erforderlich ist.
HTML-Link-Parser und RegEx-Benutzerparameter werden nicht so häufig verwendet wie andere Präprozessoren, erfüllen jedoch den erforderlichen Zweck und haben ihre eigenen Vorteile.
Literatur-Empfehlungen
- JMeter Listener: Analysieren von Ergebnissen mit verschiedenen Listenern
- JMeter-Datenparametrierung mit benutzerdefinierten Variablen
- JMeter-Variablen und -Funktionen
- So erreichen Sie eine JMeter-Korrelation mit einem Beispiel
- Top 5 JMeter-Plugins und deren Verwendung (mit Beispielen)
- JMeter-Timer: Konstanter, BeanShell- und Guassian-Zufalls-Timer
- Jmeter-Steuerungen Teil 2
- Jmeter-Steuerungen Teil 1