Prozessor in JMeter: PreProcessor & Postprozessor

Inhaltsverzeichnis:

Anonim

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

Es gibt zwei Arten von Prozessoren:

  1. Präprozessor
  2. Postprozessor

Präprozessor:

Der Preprozessor führt eine Aktion aus, bevor er eine Sampler-Anfrage stellt.

Betrachten wir ein einfaches Beispiel: Angenommen , Sie wollten JMeter zu „Spinne“ über die Website unter Test, Parse - Link (überprüfen Sie alle Links auf der Seite) und Rückkehr des HTML. Sie würden Ihrem Controller eine Aktion wie "HTML-Link-Parser" hinzufügen, bevor Sie eine HTTP-Anforderung erstellen.

Postprozessor:

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

Stellen Sie sich ein einfaches Beispiel vor: JMeter sendet eine HTTP-Anfrage an den zu testenden Webserver (usw. www.google.com) und erhält 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

Dieses Tutorial zeigt Ihnen Schritt für Schritt, wie Sie den Postprozessor in JMeter verwenden. 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 ein Fehler ist , stoppt JMeter den Test.
  4. Wenn Server - Antwort OK (kein Fehler), wird JMeter weiterhin den Test.

Hier ist die Roadmap dieses Beispiels:

Voraussetzung:

Wir verwenden die Schritte 1 und 2 in Artikel JMeter-Leistungstests erneut.

Schritt 1) ​​Thread-Gruppe hinzufügen

Klicken Sie mit der rechten Maustaste auf den Testplan und fügen Sie eine neue Thread-Gruppe hinzu: Hinzufügen -> Threads (Benutzer) -> Thread-Gruppe

Geben Sie in der Systemsteuerung für Thread-Gruppen die Thread-Eigenschaften wie folgt ein:

Mit dieser Einstellung kann JMeter 10 Mal 10 Benutzeranfragen an http://www.google.com erstellen .

Schritt 2) Fügen Sie JMeter-Elemente hinzu

  • Standardmäßig HTTP-Anforderung hinzufügen
  • HTTP-Anfrage hinzufügen

Wir veranlassen JMeter weiterhin, die Anfrage http://www.google.com an den Google-Server zu senden.

Schritt 3) Fügen Sie ein Postprozessorelement hinzu

Klicken Sie mit der rechten Maustaste auf Thread-Gruppe -> Hinzufügen -> Postprozessor -> Aktionshandler für den Ergebnisstatus

Mit dem Action Handler für den Ergebnisstatus kann der Benutzer den Thread oder den gesamten Test stoppen, wenn die Benutzeranforderung fehlgeschlagen ist.

Wählen Sie im Bereich Handle für den Status des Ergebnisstatus die Option Test jetzt beenden . Diese Auswahl stoppt den Test, wenn JMeter den Fehler von der Serverantwort erhält.

Schritt 4) Konfigurieren Sie die HTTP-Anforderung

Öffnen Sie das HTTP-Anforderungsfenster. Geben Sie "abc" in das Feld " Pfad" ein.

Wenn Sie "abc" in den Pfad eingeben , erstellt JMeter eine URL-Anfrage an den Google-Server: http://www.google.com/abc. Diese URL ist auf dem Google-Server nicht vorhanden. Es handelt sich um eine falsche URL-Anforderung, sodass der Google-Server einen Fehler zurückgibt.

Schritt 5) Fügen Sie den Ergebnisbaum der Ansicht hinzu

Klicken Sie mit der rechten Maustaste auf Thread-Gruppe -> Hinzufügen -> Listener -> Ergebnisbaum anzeigen

Schritt 6) Test ausführen

Wählen Sie Ergebnisbaum anzeigen und klicken Sie in der Menüleiste auf die Schaltfläche Ausführen. Sie sehen die Fehlerantwort vom Google-Server und der Test wird beendet, ohne dass 100 Threads abgeschlossen sind.

Kehren Sie nun zu Schritt 4 zurück, öffnen Sie den Bereich "HTTP-Anforderung" und geben Sie " Kalender " in den Bereich ein. JMeter erstellt eine URL-Anfrage https://calendar.google.com/calendar/u/0/r an den Google-Server. Dies ist eine korrekte URL-Anfrage, sodass der Google-Server OK zurückgibt (kein Fehler).

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

Fehlerbehebung:

Wenn Sie beim Ausführen des obigen Szenarios auf das Problem stoßen, gehen Sie wie folgt vor:

  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 Datei ProcessorTestPlan.jmx in Jmeter
  4. Doppelklicken Sie auf Thread-Gruppe -> Ergebnisbaum anzeigen
  5. Führen Sie den Test aus