26. Apache JMeter HTTP(S)-Testskript-Recorder

Dieses Tutorial versucht, die genauen Schritte zum Aufzeichnen von HTTP/HTTPS zu erklären. Für diejenigen, die neu bei JMeter sind, besteht eine einfache Möglichkeit zum Erstellen eines Testplans darin, den Rekorder zu verwenden.

26.1 JMeter-Konfiguration

Seit JMeter 2.10 wurde die Aufzeichnung verbessert, um eingebettete Ressourcen und die Erstellung von Zertifikaten im laufenden Betrieb besser zu handhaben. Um diese Funktionen zu aktivieren, verwendet JMeter das Keytool- Dienstprogramm (verfügbar in JRE/JDK), sodass Sie sicherstellen müssen, dass Ihre Konfiguration korrekt ist. Lesen Sie diese Wiki-Seite, bevor Sie beginnen.

26.2 Grundlegende Anweisungen

  1. Gehen Sie zu JMETER_HOME/bin und starten Sie JMeter mit jmeterw.bat unter Windows und jmeter.sh unter Linux/Unix
  2. Wählen Sie Vorlagen… in der Menüleiste
  3. Wählen Sie Aufzeichnungsvorlage in der Liste aus
  4. Ein vollständiger Testplan wird generiert
  5. Im Element HTTP Request Defaults :
    Servername oder IP
    Geben Sie example.com ein
    Weg
    freilassen
  6. Kehren Sie zu HTTP(S) Test Script Recorder zurück und klicken Sie oben auf die Schaltfläche Start .

Dadurch wird der JMeter-Proxyserver gestartet, der zum Abfangen der Browseranforderungen verwendet wird. Eine Datei namens ApacheJMeterTemporaryRootCA.crt wird im Ordner JMETER_HOME/bin generiert . Installieren Sie dieses Zertifikat in Ihrem Browser. Wenn Sie nicht wissen, wie es geht, lesen Sie Installieren des JMeter-CA-Zertifikats für die HTTPS-Aufzeichnung

26.3 Konfigurieren Sie Ihren Browser für die Verwendung des JMeter-Proxys

Zu diesem Zeitpunkt wird der Proxy von JMeter ausgeführt. Für diese Übung verwenden wir Iceweasel/Firefox, um einige Seiten auf der JMeter-Website anzuzeigen.

  1. Starten Sie Iceweasel/Firefox, aber schließen Sie JMeter nicht.
  2. Klicken Sie in der Symbolleiste auf Bearbeiten  →  Einstellungen (oder Extras  →  Einstellungen oder geben Sie about:preferences#advanced als URL ein). Dies sollte die Optionen anzeigen.
  3. Wählen Sie die Registerkarte Erweitert und die Registerkarte Netzwerk
  4. Klicken Sie oben auf die Schaltfläche Einstellungen .
  5. Aktivieren Sie im neuen Popup-Fenster Manuelle Proxy-Konfiguration . Die Adress- und Portfelder sollten jetzt aktiviert sein.
    Adresse
    Geben Sie localhost oder die IP-Adresse Ihres Systems ein
    Hafen
    Geben Sie 8888 ein .
  6. Aktivieren Sie Diesen Proxy-Server für alle Protokolle verwenden
  7. Klicken Sie auf die Schaltfläche OK . Dies sollte Sie zum Browser zurückbringen
  1. Geben Sie in Ihrem Browser oben in der Adressleiste http://example.com/index.html ein (ersetzen Sie example.com durch die Adresse Ihrer Website). und drücken Sie die Eingabetaste .
  2. Klicken Sie auf ein paar Links auf den Seiten Ihrer Website.
  3. Schließen Sie Ihren Browser und rufen Sie das JMeter-Fenster auf.

Erweitern Sie die Thread-Gruppe und es sollten mehrere Sampler vorhanden sein. An dieser Stelle kann der Testplan unverändert gespeichert werden.

Wenn Sie vergessen, die Standard-HTTP-Anforderungseinstellungen hinzuzufügen, müssen Sie den Servernamen und den Port manuell löschen.

In diesem Beispiel gibt es keine Standardanforderungsparameter. Wenn ein bestimmter Anforderungsparameter von allen Seiten benötigt wird, würde man die Einträge in den Anforderungsvorgaben hinzufügen.

  1. Wählen Sie Thread Group und ändern Sie einige Standardeinstellungen:
    Anzahl der Threads (Benutzer)
    5 eingeben
    Hochlaufzeit (in Sekunden)
    verändere dich nicht
    Schleifenanzahl
    100 eingeben

26.5 Das Skript validieren

Jetzt müssen wir das Skript validieren, bevor wir unseren Testplan ausführen. Speichern Sie den Testplan.

Klicken Sie mit der rechten Maustaste auf die Thread Group Validate

Überprüfen Sie mit dem Element View Results Tree , ob alles in Ordnung ist.

26.6 Variabilisieren und Korrelieren des Skripts

In einigen Skripten müssen wir Folgendes tun:

  • Einige Eingaben variieren (Login, Passwort, Suchbegriffe, …)
  • Einige Daten (Sitzungsvariable, …) zwischen zwei Anfragen korrelieren

Zur Variabilisierung können wir verwenden:

  • CSV Data Set Config zum Abrufen von Eingabedaten aus der CSV-Datei
  • JMeter-Funktionen wie __counter , __time , …
  • usw.

Um zu korrelieren, können wir Daten aus einer Anfrage mit Postprozessoren wie JSON Extractor , Regular Expression Extractor , … abrufen und in eine andere Anfrage einfügen.

Um zu korrelierende Daten zu finden, verwenden Sie am einfachsten die Suchfunktion in View Results Tree .

26.7 Test starten

An diesem Punkt sind wir bereit, unseren Testplan auszuführen und zu sehen, was passiert. Wenn Sie bereit sind, den Test auszuführen, gibt es zwei Möglichkeiten:

  1. Mit der gui ist es aber nicht zu empfehlen großen lasttest zu machen.
  2. Mit der Kommandozeile.

Lösung 1, mit der GUI, aber nur während der Debug-Phase, verwenden Sie den CLI-Modus (ohne GUI) für Ihren Auslastungstest.

Ausführen  →  Starten oder verwenden Sie die Tastatur und drücken Sie Strg  +  R

Bevor Sie den Test starten, fügen Sie ein Summary Report - Element hinzu und wählen Sie es aus. Während der Test ausgeführt wird, ändern sich die Statistiken, bis der Test abgeschlossen ist. Am Ende des Tests sollte der zusammenfassende Bericht so aussehen.

Während der Test läuft, sollte in der oberen rechten Ecke ein grüner Kreis zu sehen sein. Wenn der Test abgeschlossen ist, sollte der Kreis grau sein.

Lösung 2, verwenden Sie in der Befehlszeile jmeter -n -t [jmx-Datei] -l [Ergebnisdatei] -e -o [Pfad zum Ausgabeordner]

Am Ende des Tests wird ein HTML-Bericht generiert und in [Pfad zum Ausgabeordner] verfügbar sein, der in der Befehlszeile verwendet wird.

Go to top