Apache JMeter
Apache JMeter: Testszenario-Aufnahme
Suche…
Einführung
Das Aufzeichnen von Testszenarien ist eine der bequemsten Methoden zum Erstellen von Testskripten. Das liegt daran, dass Sie mit Testaufzeichnungen realistische Benutzerabläufe nachahmen können, anstatt ein Testskript manuell erstellen zu müssen. Die Aufzeichnungen erfassen alle Browseranforderungen an die Webanwendung und erstellen dann automatisch eine JMX-Datei, die in Leistungstests ausgeführt werden kann. Mit der Aufnahme- / Wiedergabefunktion von JMeter oder mit Tools von Drittanbietern wie BlazeMeter und BadBoy können Tester ihre Arbeit dreimal schneller machen.
Skriptaufnahme mit der JMeter-Vorlagenfunktion
In Version 2.10 hat JMeter einen Mechanismus eingeführt, mit dem Sie beim Erstellen von Skripts Zeit sparen können - JMeter-Vorlagen. Diese Vorlagen sind Skelette, die als Basis für Ihre neuen Skripts verwendet werden können.
JMeter verfügt bereits über mehrere Vorlagen mit detaillierten Beschreibungen. Sie können auch eigene Vorlagen hinzufügen. Vorlagen verfügen über alle erforderlichen Konfigurationen und Elemente, um Ihre Leistungsskripts von Grund auf zu erfassen.
So verwenden Sie die JMeter-Vorlagenfunktion:
Konfigurieren Sie JMeter
Öffnen Sie JMeter
Wählen Sie die Vorlage für die Skriptaufnahme:
Datei -> Vorlagen… -> Vorlage auswählen -> Aufnahme -> JMeter erstellen fügt die relevanten Elemente zum Testbaum hinzu.
Konfigurieren Sie Ihren Browser-Proxy
Um den JMeter Recorder verwenden zu können, müssen Sie Ihren Browser so konfigurieren, dass alle Anforderungen über einen Proxy gesendet werden. Für diese Anforderungen kann jeder Browser verwendet werden. Es kann jedoch Unterschiede zwischen den Speicherorten der Browserkonfigurationen geben, die browserspezifisch sind und je nach Betriebssystem variieren können.
So konfigurieren Sie Ihren Browser:
Chrome : Menütaste -> Einstellungen -> Erweiterte Einstellungen anzeigen ... -> Netzwerk -> Proxy-Einstellungen ändern
Safari : Einstellungen -> Erweitert -> Proxies -> Einstellungen ändern ...
Firefox : Menüschaltfläche -> Einstellungen -> Erweitert -> Netzwerk -> Verbindung -> Einstellungen.
Sie können beispielsweise den localhost 127.0.0.1 verwenden. Ändern Sie den Port in den Port im HTTP (S) Script Recorder.
Wenn während dieser Phase Probleme auftreten, überprüfen Sie, ob Sie über Plugins von Drittanbietern verfügen, die die Proxy-Einstellungen Ihres Browsers verwalten können. In diesem Fall sind die Proxy-Einstellungen in Ihrem Browser-Menü nicht verfügbar, wie z. B. bei Hola VPN.
- Klicken Sie auf die Schaltfläche "Start", die sich unten auf der Seite "HTTP (S) Test Script Recorder" befindet, und gehen Sie den Webanwendungsworkflow durch, den Sie testen möchten. Wenn Sie zu JMeter zurückkehren, sollten Sie alle von Ihrem Browser erfassten Anforderungen sehen.
Skriptaufnahme mit dem JMeter Proxy Recorder
Mit JMeter können Sie Ihren Arbeitsbereich auch manuell konfigurieren. Es ist komplexer, aber Sie können die Skripts genau an Ihre Bedürfnisse anpassen.
Konfigurieren Sie Ihren Browser-Proxy
- Konfigurieren Sie Ihren Browser wie in Kapitel 1 beschrieben.
Konfigurieren Sie JMeter
Der Zweig „WorkBench“ kann als temporärer Arbeitsbereich zum Erstellen von Skripts verwendet werden. Beachten Sie, dass Einträge, die diesem Abschnitt hinzugefügt werden, nicht mit dem Testplan gespeichert werden. Wenn Sie also dieselbe Aufzeichnungskonfiguration zukünftig wiederverwenden möchten, müssen Sie sie kopieren und in den Abschnitt „Testplan“ einfügen.
- Fügen Sie "Recording Controller" zu "WorkBench" hinzu: Klicken Sie mit der rechten Maustaste auf "WorkBench" -> "Hinzufügen" -> "Logic Controller" -> "Recording Controller".
- Fügen Sie "HTTP (S) Test Script Recorder" zu derselben "WorkBench" hinzu: Klicken Sie mit der rechten Maustaste auf "WorkBench" -> "Hinzufügen" -> "Nicht-Testelemente" -> "HTTP (S) Test Script Recorder".
Auf der Konfigurationsseite "HTTP (S) Test Script Recorder" unter "Globale Einstellungen: Port" müssen Sie denselben Port angeben, der in der Proxy-Konfiguration Ihres Browsers angegeben ist, beispielsweise 8080.
Wenn Sie Anforderungen an bestimmte Ressourcen ausschließen möchten, können Sie den Abschnitt „Ausschluss von URL-Mustern“ verwenden. Dies kann nützlich sein, wenn Sie nur die Arten von Inhalten einschließen möchten, die Sie anfordern möchten (z. B. * .html, * .php usw.) oder die Arten von Inhalten ausschließen möchten, die Sie nicht anfordern möchten (z. B. * .jpg, * .png, * .js usw.).
Wann würden wir das benutzen? Wenn Sie beispielsweise ein Skript aufnehmen, das eine Drittanbieteranwendung aufruft, oder wenn Sie ein serverseitiges Skript testen, möchten Sie möglicherweise keine Assets herunterladen, da diese Ihre Tests möglicherweise stören und Bandbreite beanspruchen, oder Sie möchten bestimmte Anforderungen aufzeichnen einen bestimmten Weg.
Die häufigsten Ausschlussmuster sind: “. .png “,“. .jpg “,“. .gif “,“. .css ”,“. .js ”. Sie können auch verschiedene Muster miteinander kombinieren. Dieses kombinierte Muster sollte alle redundanten Anforderungen beseitigen, die Sie von wichtigen Anfragen ablenken könnten: „. (bmp | css | js | gif | ico | jpe? g | png | swf | woff) "
- Andererseits möchten Sie möglicherweise das vollständige Verhalten des Browsers nachahmen und das Laden aller Ressourcen einbeziehen. In diesem Fall müssen URL-Muster nicht ausgeschlossen werden. Beachten Sie, dass der Browser alle eingebetteten Ressourcen von der angeforderten Seite herunterlädt und über einen Zwischenspeicherungsmechanismus verfügt, der die Ergebnisleistung beeinträchtigen kann.
In diesem Fall wird empfohlen, alle eingebetteten Ressourcen im Skript herunterzuladen: Klicken Sie mit der rechten Maustaste auf „Testplan“ -> „Hinzufügen“ -> „Konfigurationselement“ -> „HTTP-Anforderungsvorgaben“ -> „Erweitert“ -> Kontrollkästchen "Alle eingebetteten Ressourcen abrufen".
Damit sich JMeter mehr wie ein echter Browser verhält, wird empfohlen, den "HTTP Cache Manager" hinzuzufügen, mit dem Sie die Browser-Caching-Funktion in Ihren Leistungstests simulieren können. Klicken Sie mit der rechten Maustaste auf "Test Plan" -> "Add" -> "Config Element" -> "HTTP Cache Manager".
Klicken Sie nun auf die Schaltfläche "Start", die sich unten auf der Seite "HTTP (S) Test Script Recorder" befindet, und gehen Sie den Webanwendungsworkflow durch, den Sie testen möchten. Wenn Sie zu JMeter zurückkehren, sollten Sie alle erfassten Anforderungen Ihres Browsers unter dem „Aufnahmecontroller“ sehen.
Aufzeichnen von Leistungsskripts für mobile Geräte
JMeter kann auch zur Aufzeichnung mobiler Leistungstests verwendet werden. Die Aufzeichnung mobiler Skripts ist der Aufzeichnung von Webanwendungsskripts sehr ähnlich.
Konfigurieren Sie JMeter
- Konfigurieren Sie „JMeter-Vorlagen“ wie in Kapitel 1 beschrieben.
Konfigurieren Sie Ihr Mobiltelefon
Nachdem die JMeter-Konfiguration vorbereitet wurde, einschließlich des JMeter-Elements „HTTP (S) Test Script Recording“, das an einem angegebenen Port gestartet wurde, können Sie Ihr Mobiltelefon so konfigurieren, dass es eine Anfrage an die zu testende Webanwendung über den JMeter-Proxy sendet.
- IOS :
Einstellung -> Wi-Fi
Klicken Sie auf das verbundene Netzwerk
Gehen Sie zum Konfigurationsabschnitt „HTTP PROXY“
Klicken Sie auf die Registerkarte "Manual"
Legen Sie die IP-Adresse des Computers fest, auf dem die JMeter-Anwendung unter "Server" ausgeführt wird.
Legen Sie den Port fest, der unter "Port" für "HTTP (S) Test Script Recording" angegeben ist.
Android:
Einstellung -> Wi-Fi
Klicken Sie lange auf das verbundene Netzwerk und klicken Sie auf die Option "Netzwerk ändern"
Klicken Sie auf das Kontrollkästchen "Erweiterte Optionen"
Setzen Sie die Option "Proxy" auf "Manual".
Legen Sie den "Proxy-Hostnamen" als IP-Adresse Ihres Computers und "Proxy-Port" fest, wie in der Konfiguration für "HTTP (S) Test Script Recording" unter "Port" angegeben.
Klicken Sie auf "Speichern".
- Sie können nun die Anwendung auf Ihrem mobilen Gerät ausführen. Die Anfragen werden auf JMeter aufgezeichnet.
HTTPS-Verkehr aufzeichnen
Wenn Ihre Webanwendung die SSL-Verschlüsselung verwendet, müssen Sie HTTPS-Datenverkehr anstelle von HTTP erfassen. Um HTTPS-Verkehr mit JMeter aufzuzeichnen, müssen Sie die SSL-Zertifikate konfigurieren.
Konfigurieren Sie Ihren SSL-Proxy
- Stellen Sie sicher, dass der SSL-Proxy auf dieselbe Weise konfiguriert ist wie der HTTP-Proxy:
Konfigurieren Sie JMeter
Starten Sie die Skriptaufnahme mit der Funktion "JMeter-Aufzeichnungsvorlage", wie im Beispiel "Skriptaufnahme mit der JMeter-Vorlagenfunktion" erläutert.
Nach dem Öffnen der Webanwendung wird eine Nachricht bezüglich einer unsicheren Verbindung angezeigt. Um fortzufahren, müssen Sie nur das JMeter-Dummy-Zertifikat akzeptieren:
- Klicken Sie auf "Erweitert".
- Klicken Sie auf "Ausnahme hinzufügen ...".
- Deaktivieren Sie "Diese Ausnahme dauerhaft speichern".
- Klicken Sie auf "Sicherheitsausnahme bestätigen".
- Wenn Sie sehen, „Diese Website bietet eine gültige, verifizierte Identifikation. Es ist nicht erforderlich, eine Ausnahme hinzuzufügen. “In der Warnmeldung müssen Sie den Browserverlauf für Ihre Anwendung löschen, einschließlich Cookies, Cache-Speicher und Offline-Websitedaten. Fahren Sie dann mit den gleichen Schritten fort.
Dieser Ansatz funktioniert auch für die Aufzeichnung mobiler Skripts, da das JMeter-Zertifikat nur auf dem Host installiert werden muss, auf dem JMeter ausgeführt wird.
Skriptaufnahme mit der BlazeMeter Chrome Extension
Bisher haben wir die grundlegenden Methoden zur Aufzeichnung von Testszenarien besprochen. Eine der schnellsten und einfachsten Methoden zum Aufzeichnen Ihrer Leistungsskripts, die ebenfalls kostenlos ist, ist die Verwendung der BlazeMeter Recorder Chrome- Erweiterung. Diese Aufnahmen können in JMeter oder in BlazeMeter ausgeführt werden.
Der Grund, warum die Erweiterung so nützlich ist, besteht darin, dass Sie Leistungsskripts von Ihrem Browser aus aufnehmen können, ohne Ihren Proxy konfigurieren zu müssen.
So erstellen Sie ein neues Leistungsskript:
- Öffnen Sie den Recorder von Ihrem Chrome aus
- Geben Sie im oberen Feld einen Testnamen ein
- Starten Sie die Aufnahme durch Klicken auf die Aufnahmetaste in Form eines Kreises und führen Sie die Webaktionen aus, die Sie aufzeichnen möchten. Alle Ihre Anfragen werden erfasst. Die Blazemeter Chrome Extension unterstützt auch die Aufzeichnung von HTTPS-Verkehr.
- Wenn Sie mit der Aufnahme fertig sind, klicken Sie auf die Stopp-Schaltfläche in Form eines Quadrats. Sie können die Aufnahme auch anhalten und dann im .jmx- oder JSON-Format oder in der Cloud fortsetzen und bearbeiten.
- Exportieren Sie Ihre Aufnahme - um den Test in JMeter auszuführen, exportieren Sie das Format .jmx, indem Sie auf die Schaltfläche .jmx klicken. Um den Test in BlazeMeter auszuführen, klicken Sie auf "Play".
Weitere Informationen finden Sie hier .
Skriptaufnahme mit BadBoy
Ein weiteres nützliches Aufnahme-Tool von Drittanbietern ist BadBoy. Es funktioniert jedoch nur für Windows-Betriebssysteme.
So erstellen Sie ein neues Leistungsskript:
Installiere BadBoy hier
Drücken Sie die Aufnahmetaste in Form eines roten Kreises und führen Sie die Aktionen aus, die Sie erfassen möchten.
Exportieren Sie Ihr Skript nach JMeter - Datei -> Nach JMeter exportieren
Weitere Informationen finden Sie hier .
Die Verwendung eines Rekorders für Leistungsskripts ist eine hervorragende Möglichkeit, Routineaufgaben zu vermeiden und dennoch die besten Testskripts zu erhalten. Konfigurieren Sie den Test nach der Aufzeichnung auf die Anzahl der virtuellen Benutzer, die Sie testen möchten, sowie auf weitere Testkonfigurationen, führen Sie den Test durch und analysieren Sie die Ergebnisse, um Fehler und Engpässe zu erkennen und Trends zu charakterisieren, die den Zustand Ihres Systems anzeigen.