Prozessor in JMeter: Präprozessor und Postprozessor

Ein Prozessor wird verwendet, um die Sampler in ihrem Umfang zu modifizieren.

Es gibt 2 Arten von Prozessoren:

  1. Präprozessor
  2. Postprozessor

Präprozessor

Der Vorprozessor führt eine Aktion aus Bevor Musteranfrage stellen.

Betrachten Sie ein einfaches Beispiel: Nehmen wir an, Sie möchten, dass JMeter die zu testende Website durchsucht. parsen Link (überprüfen Sie alle Links auf der Seite) und Rückkehr das HTML. Sie würden Ihrem Controller eine Aktion wie „HTML-Link-Parser“ hinzufügen, bevor Sie eine HTTP-Anfrage erstellen.

Präprozessor

Postprozessor

Der Postprozessor führt eine Aktion aus, nachdem er eine Sampler-Anfrage gestellt hat.

Betrachten Sie ein einfaches Beispiel: JMeter sendet eine HTTP-Anfrage an den zu testenden Webserver (usw.). www.google.com) und erhalten Sie die Antwort. Sie möchten, dass JMeter den Test stoppt, wenn die Serverantwort ein Fehler ist. Sie können den Postprozessor verwenden, um die obige Aufgabe wie folgt auszuführen:

Postprozessor

Beispiel für einen Postprozessor

Dieses Tutorial zeigt Ihnen Schritt-für-Schritt-Anleitungen zur Verwendung des Postprozessors in JMeter. Beginnen wir mit dem einfachen Testskript.

  1. JMeter sendet eine HTTP-Anfrage an den zu testenden Webserver www.google.com.
  2. JMeter erhält eine Antwort vom Google-Server.
  3. Wenn die Serverantwort lautet ein Fehler, JMeter wird halt der Test.
  4. Wenn Serverantwort OK (kein Fehler), JMeter wird es tun fortsetzen der Test.

Hier ist die Fahrplan dieses Beispiels:

Beispiel für einen Postprozessor

Voraussetzung:

We Wiederverwendung Schritt 1 und Schritt 2 im Artikel JMeter-Leistungstests.

Schritt 1) ​​Thread-Gruppe hinzufügen

Rechtsklick auf die Versuchsplan und eine neue Thread-Gruppe hinzufügen: Speichern -> Threads (Benutzer) -> Thread-Gruppe

Geben Sie jedoch im Thread-Gruppen-Kontrollfeld die Thread-Eigenschaften wie folgt ein:

Thread-Gruppe hinzufügen

Mit dieser Einstellung kann JMeter erstellen 10 Benutzeranfrage an http://www.google.com 10 Zeiten.

Schritt 2) JMeter-Elemente hinzufügen

  • HTTP-Anforderungsstandard hinzufügen
  • HTTP-Anfrage hinzufügen

Wir senden immer noch eine JMeter-Anfrage http://www.google.com an den Google-Server.

Schritt 3) Postprozessor-Element hinzufügen

Rechtsklick Thread-Gruppe -> Speichern -> Postprozessor -> Ergebnisstatus-Aktionshandler

Ergebnisstatus-Aktionshandler Ermöglicht dem Benutzer, den Thread oder den gesamten Test zu stoppen, wenn die Benutzeranforderung fehlschlägt.

Postprozessor-Element hinzufügen

Wählen Sie im Bereich „Ergebnisstatus-Aktionsgriff“ die Option aus Stoppen Sie den Test jetzt. Diese Auswahl stoppt den Test, wenn JMeter den Fehler aus der Serverantwort erhält.

Postprozessor-Element hinzufügen

Schritt 4) Konfigurieren Sie die HTTP-Anfrage

Öffnen Sie das HTTP-Anforderungsfenster. Eingeben "ABC" zum Feld „Pfad“.

Konfigurieren Sie die HTTP-Anfrage

Wenn Du eintrittst "ABC" Anhand des Pfads erstellt JMeter eine URL-Anfrage an den Google-Server: http://www.google.com/abc. Diese URL existiert nicht auf dem Google-Server. Es ist Wrongs URL-Anfrage, sodass der Google-Server einen Fehler zurückgibt.

Schritt 5) Ansichtsergebnisbaum hinzufügen

Rechtsklick Thread-Gruppe -> Speichern -> Hörer -> Ergebnisbaum anzeigen

Ansichtsergebnisbaum hinzufügen

Schritt 6) Test ausführen

Wählen Sie „Ergebnisbaum anzeigen“ und klicken Sie in der Menüleiste auf die Schaltfläche „Ausführen“. Sie werden das sehen Fehler Antwort vom Google-Server und der Test wird beendet ohne 100 Threads abgeschlossen.

Führen Sie den Test durch

Kehren Sie nun zu Schritt 4 zurück, öffnen Sie den Bereich „HTTP-Anfrage“ und geben Sie „Kalender” zum Fenster. Dadurch erstellt JMeter eine URL-Anfrage https://calendar.google.com/calendar/u/0/r an den Google-Server. Das ist und beseitigen Muskelschwäche URL-Anfrage, damit der Google-Server OK zurückgibt (kein Fehler).

Führen Sie den Test durch

Wählen Sie „Ergebnisbaum anzeigen“ und klicken Sie in der Menüleiste auf die Schaltfläche „Ausführen“. Sie werden das sehen OK Antwort vom Google-Server und der Test wird fortgesetzt, bis alle 100 Threads abgeschlossen sind.

Führen Sie den Test durch

Problemlösung

Wenn das Problem beim Ausführen des oben genannten Szenarios auftritt, gehen Sie wie folgt vorwing:

  1. Überprüfen Sie, ob Sie über einen Proxy eine Verbindung zum Internet herstellen. Wenn ja, entfernen Sie den Proxy.
  2. Öffnen Sie eine neue Instanz von Jmeter
  3. Öffnen Sie die ProcessorTestPlan.jmx in Jmeter
  4. Double-Klicken Sie auf Thread-Gruppe -> Ergebnisbaum anzeigen
  5. Führen Sie den Test durch