65
Apache JMeter #jmeter

Apache JMeter - riptutorial.com · Inhaltsverzeichnis Über 1 Kapitel 1: Erste Schritte mit Apache JMeter 2 Bemerkungen 2 Versionen 2 Examples 3 Installation oder Setup 3 Überblick

  • Upload
    others

  • View
    36

  • Download
    0

Embed Size (px)

Citation preview

Apache JMeter

#jmeter

Inhaltsverzeichnis

Über 1

Kapitel 1: Erste Schritte mit Apache JMeter 2

Bemerkungen 2

Versionen 2

Examples 3

Installation oder Setup 3

Überblick über Apache JMeter-Komponenten auf hohem Niveau 4

Kapitel 2: Apache JMeter: Testszenario-Aufnahme 7

Einführung 7

Examples 7

Skriptaufnahme mit der JMeter-Vorlagenfunktion 7

Skriptaufnahme mit dem JMeter Proxy Recorder 9

Aufzeichnen von Leistungsskripts für mobile Geräte 12

HTTPS-Verkehr aufzeichnen 13

Skriptaufnahme mit der BlazeMeter Chrome Extension 16

Skriptaufnahme mit BadBoy 18

Kapitel 3: Apache JMeter-Korrelationen 20

Einführung 20

Examples 20

Korrelation mit dem Extractor für reguläre Ausdrücke in Apache JMeter 20

Korrelation mit dem XPath-Extraktor in JMeter 25

Korrelation Verwenden des CSS / JQuery-Extraktors in JMeter 28

Korrelation mit dem JSON-Extraktor 32

Automatisierte Korrelation durch Verwendung von BlazeMeters "SmartJMX" 35

Kapitel 4: Apache JMeter-Parametrisierung 39

Einführung 39

Examples 39

Parametrierung über externe Dateien 39

Parametrisierung über Datenbanken 46

Parametrierung mit dem Plugin 'Parametrisierter Controller' 56

Credits 62

Über

You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: apache-jmeter

It is an unofficial and free Apache JMeter ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official Apache JMeter.

The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.

Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected]

https://riptutorial.com/de/home 1

Kapitel 1: Erste Schritte mit Apache JMeter

Bemerkungen

JMeter ist ein Lasttest-Tool für Leistungstests . Ein Performance Tester kann Aktionen in einem Webbrowser aufzeichnen oder manuell ein Skript erstellen, das dann mit Hunderten oder Tausenden Benutzern ausgeführt werden kann.

Mit JMeter können mithilfe der verschiedenen Elemente unglaublich dynamische Benutzer und Szenarien erstellt werden. Mit der CSV Data Set Config können Sie beispielsweise eine Gruppe von Benutzern angeben, die sich bei einer Webanwendung anmelden. Mit dem Regular Expression Extractor oder dem CSS / JQuery-Extraktor können Sitzungs-IDs für zukünftige Anforderungen gespeichert werden. Mit dem an die Sprache Groovy gekoppelten JSR223 PreProcessor können dynamische eindeutige Daten für jeden Benutzer erstellt werden, die als Teil eines POST Körpers gesendet werden.

Versionen

Ausführung Java-Version Veröffentlichungsdatum

3.2 Java 8+ 2017-04-14

3.1 Java 7+ 2016-11-20

3,0 Java 7+ 2016-05-17

2.13 Java 6+ 2015-03-13

2.12 Java 6+ 2014-11-10

2.11 Java 6+ 2014-01-05

2.10 Java 6+ 2013-10-21

2,9 Java 6+ 2013-01-28

2.8 Java 5+ 2012-10-06

2,7 Java 5+ 2012-05-27

2.6 Java 5+ 2012-02-01

2.5.1 Java 5+ 2011-10-03

2,5 Java 5+ 2011-08-17

2.4 Java 5+ 2010-07-12

https://riptutorial.com/de/home 2

Ausführung Java-Version Veröffentlichungsdatum

2.3.4 Java 1.4+ 2009-06-21

Examples

Installation oder Setup

Laden Sie ein verteiltes Archiv aus dem Abschnitt Binaries von JMeter von der Seite Apache JMeter herunterladen herunter .

1.

Überprüfen Sie je nach heruntergeladener Version die Mindestanforderungen für die Java-Version, und installieren Sie gegebenenfalls Java. Stellen JAVA_HOME sicher, dass die Umgebungsvariable JAVA_HOME gesetzt ist und auf eine korrekte Version verweist.

2.

Entpacken Sie das Distributionsarchiv in ein Verzeichnis Ihrer Wahl.3.

Open JMeter UI:

Unter Windows : Navigieren Sie zum <jmeter_location>\bin und führen Sie jmeterw.bat oder jmeter.bat

Unter Linux / Mac : Navigieren Sie zum <jmeter_location>/bin und führen Sie jmeter oder "jmeter.sh" aus.

Zum Beispiel:

cd /Users/me/apache-jmeter/bin ./jmeter

Hinweis : Wenn der obige Befehl mit dem Fehler " Permission denied fehlschlägt, legen Sie die Ausführungsberechtigung für die jmeter Datei fest:

cd /Users/me/apache-jmeter/bin chmod u+x ./jmeter

4.

Wenn Sie die JMeter-Benutzeroberfläche sehen können, war die Grundeinstellung erfolgreich.

https://riptutorial.com/de/home 3

Überblick über Apache JMeter-Komponenten auf hohem Niveau

Apache JMeter trennte alle Komponenten nach ihrer Funktionalität in folgende Gruppen:

Test Plan : Ausgangspunkt für das Scripting. JMeter speichert den Testplan im .jmx-Format. Sie fügen dem Testplan Komponenten hinzu, indem Sie mit der rechten Maustaste auf die Test Pand klicken und zu der Komponente navigieren, die Sie hinzufügen möchten.

1.

https://riptutorial.com/de/home 4

Workbench : Ist ein temporärer Ort, um mit dem Scripting zu beginnen. Neben allen in Test Plan verfügbaren Komponenten erhalten Sie HTTP(s) Test Script Recorder , record die Browseraktionen record . Skripte können in der Workbench gespeichert werden, sofern Sie das Kontrollkästchen "Workbench speichern" aktivieren. Andernfalls sind sie Nein.

2.

Threads (Users) : Sie können eine Reihe von (virtuellen) Benutzern zum Ausführen, die Hochlaufzeit und die Anzahl der Schleifen definieren. Sie können auch im Testplan festlegen, ob Threadgruppen bei mehreren Threadgruppen sequentiell oder parallel ausgeführt werden müssen. Einige Beispiele sind Thread Group, setUp Thread Group, and tearDown Thread Group

3.

Logic Controller : Hier können Sie den Ablauf und die Gruppierung der Sampler definieren. Eines der nützlichen Beispiele ist Transaction Controller, in dem Sie alle Sampler der Anmeldeseite (alle Ressourcen, einschließlich Bilder, .css und .js-Dateien) kombinieren, um die kombinierte Antwortzeit abzurufen.

4.

Sampler : Sampler ist das Herzstück des JMeter. Es enthält Komponenten zum Simulieren von Anforderungen verschiedener Protokolle wie HTTP, JDBC, FTP, SMTP usw. Mit dem HTTP-Sampler können Sie ein HTTP-Paket (GET, POST oder alle unterstützten Methoden) simulieren. Es werden Hauptstromprotokolle unterstützt, für andere können Sie kostenlose oder kommerzielle Plugins verwenden.

5.

Config Element : Konfigurationselemente können verwendet werden, um Standardwerte und Variablen für die spätere Verwendung durch Sampler festzulegen. Beachten Sie, dass diese Elemente normalerweise zu Beginn des Gültigkeitsbereichs verarbeitet werden, in dem sie gefunden werden, dh vor Samplern im selben Gültigkeitsbereich. CSV Dataset Config können Sie Testdaten wie Benutzernamen und Kennwörter des Anmeldeszenarios from a file bereitstellen. User Defined variables Element " User Defined variables können Sie Variablen definieren, die im gesamten Testplan verwendet werden können, wobei jedoch jeder Thread über eine eigene Kopie verfügt.

6.

Timer : Standardmäßig führt ein JMeter-Thread die Sampler nacheinander ohne Pause aus. Die hier vorgestellten Komponenten bieten die Funktionalität, um User Think Time in verschiedenen Formen unter Samplern einzuführen. Einige Beispiele sind Constant Timer, Constant Throughput Timer.

7.

Pre Processors : Damit können Sie Vorgänge / Aktionen ausführen, bevor der Sampler ausgeführt wird. JSR223 Pre Processor mit Apache Groovy (ähnlich dem Java-Codierstil) können Sie Änderungen an dem Sampler vornehmen, bevor Sie ihn senden.

8.

Post Processors : Ermöglichen die Durchführung von Operationen / Aktionen, nachdem der Sampler ausgeführt wurde. Einige nützliche Beispiele sind das Abrufen dynamischer Werte, z. B. die Sitzungs-ID, die Verwendung des Regular Expression Extractor für Regular Expression Extractor für beliebige CSS/JQuery Extractor , CSS/JQuery Extractor für HTML, JSON Extractor für JSON, XPath Extractor für XML.

9.

Assertions : Wie der Name vermuten lässt, können Sie die Antwort von Samplern auf verschiedene Arten festlegen, wie zum Beispiel die Suche nach Text, die Größe der Antwort und die Dauer, bis die Antwort empfangen wird usw. Sie können beispielsweise mit Response Assertion nach Text suchen in der Antwort. Wenn die Assertion fehlschlägt, markiert JMeter den Sampler, auf den die Assertion angewendet wird, als Failure.

10.

Listeners: Listeners ermöglichen es Ihnen, die Testergebnisse zu speichern, die Testausführung usw. anzuzeigen. Zum Beispiel können Sie mit View Results Tree die Anfrage / Antwort des Samplers sehen und ob sie mit PASS (grüne Farbe) / FAIL (rote Farbe) markiert sind JMeter. Mit Aggregate Report können Sie die Testergebnisse im CSV-

11.

https://riptutorial.com/de/home 5

Format speichern. Ein wichtiger Hinweis ist, dass Sie Listener entweder vor dem Testlauf (für Testskript-Debugging) oder nach dem Testlauf (zum Anzeigen der Ergebnisse in Diagrammen oder einer Zusammenfassung) verwenden, nicht jedoch während des Laufs. Wir müssen die Listener während des Tests entfernen, da sie viele Systemressourcen beanspruchen. Daher führen wir den Test im Nicht-GUI-Modus aus und speichern die Ergebnisse mit der Option -l im Format .csv/.jtl . Nach dem Test können Sie diese gespeicherten Dateien in einen der Listener im JMeter laden, um Diagramme / Zusammenfassung anzuzeigen.

Es folgt die allgemeine Syntax ( you add any component on need basis ):

Test Plan Thread Group Config Element Logic Controller Pre Processor Sampler Timer Post Processor Assertion Listener

Verweise:

Testplan und Komponenten1. Ausführungsauftrag2. Regeln für das Scoping3.

Erste Schritte mit Apache JMeter online lesen: https://riptutorial.com/de/jmeter/topic/1941/erste-schritte-mit-apache-jmeter

https://riptutorial.com/de/home 6

Kapitel 2: Apache JMeter: Testszenario-Aufnahme

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.

Examples

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 JMeter1.

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.

2.

https://riptutorial.com/de/home 7

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.

3.

Sie können beispielsweise den localhost 127.0.0.1 verwenden. Ändern Sie den Port in den Port im HTTP (S) Script Recorder.

4.

https://riptutorial.com/de/home 8

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.

5.

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.1.

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".

2.

Fügen Sie "HTTP (S) Test Script Recorder" zu derselben "WorkBench" hinzu: Klicken Sie 3.

https://riptutorial.com/de/home 9

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.

4.

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.).

5.

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) "

https://riptutorial.com/de/home 10

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.

6.

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".

7.

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.

8.

https://riptutorial.com/de/home 11

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.1.

Konfigurieren Sie Ihr Mobiltelefon

https://riptutorial.com/de/home 12

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 :2.

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.

3.

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:

1.

https://riptutorial.com/de/home 13

Konfigurieren Sie JMeter

Starten Sie die Skriptaufnahme mit der Funktion "JMeter-Aufzeichnungsvorlage", wie im Beispiel "Skriptaufnahme mit der JMeter-Vorlagenfunktion" erläutert.

2.

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:

3.

Klicken Sie auf "Erweitert".•Klicken Sie auf "Ausnahme hinzufügen ...".•Deaktivieren Sie "Diese Ausnahme dauerhaft speichern".•Klicken Sie auf "Sicherheitsausnahme bestätigen".•

https://riptutorial.com/de/home 14

https://riptutorial.com/de/home 15

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.

4.

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

https://riptutorial.com/de/home 16

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.

https://riptutorial.com/de/home 17

So erstellen Sie ein neues Leistungsskript:

Öffnen Sie den Recorder von Ihrem Chrome aus1. Geben Sie im oberen Feld einen Testnamen ein2. 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.

3.

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.

4.

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".

5.

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 hier1.

Geben Sie die getestete URL in die Adressleiste ein 2.

https://riptutorial.com/de/home 18

Drücken Sie die Aufnahmetaste in Form eines roten Kreises und führen Sie die Aktionen aus, die Sie erfassen möchten.

3.

Exportieren Sie Ihr Skript nach JMeter - Datei -> Nach JMeter exportieren4.

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.

Apache JMeter: Testszenario-Aufnahme online lesen: https://riptutorial.com/de/jmeter/topic/8798/apache-jmeter--testszenario-aufnahme

https://riptutorial.com/de/home 19

Kapitel 3: Apache JMeter-Korrelationen

Einführung

Beim JMeter-Leistungstest bedeutet Korrelationen die Fähigkeit, dynamische Daten aus der Serverantwort abzurufen und sie an die nachfolgenden Anforderungen zu senden. Diese Funktion ist für viele Aspekte des Testens entscheidend, beispielsweise für tokenbasierte geschützte Anwendungen.

Examples

Korrelation mit dem Extractor für reguläre Ausdrücke in Apache JMeter

Wenn Sie Informationen aus einer Textantwort extrahieren möchten, verwenden Sie reguläre Ausdrücke am einfachsten. Das übereinstimmende Muster ist dem in Perl verwendeten Muster sehr ähnlich. Angenommen, wir möchten einen Workflow zum Kauf von Flugtickets testen. Der erste Schritt ist die Übermittlung des Kaufvorgangs. Im nächsten Schritt stellen Sie sicher, dass wir alle Details mithilfe der Kauf-ID überprüfen können, die für die erste Anforderung zurückgegeben werden muss. Nehmen wir an, die erste Anforderung gibt eine HTML-Seite mit diesem ID-Typ zurück, den wir extrahieren müssen:

<div class="container"> <div class="container hero-unit"> <h1>Thank you for you purchse today!</h1> <table class="table"> <tr> <td>Id</td> <td>Your purchase id is 1484697832391</td> </tr> <tr> <td>Status</td> <td>Pending</td> </tr> <tr> <td>Amount</td> <td>120 USD</td> </tr> </table> </div> </div>

Diese Situation ist der beste Kandidat für die Verwendung des JMeter-Extraktors für reguläre Ausdrücke. Regulärer Ausdruck ist eine spezielle Zeichenfolge zur Beschreibung eines Suchmusters. Es gibt viele Online-Ressourcen, mit denen Sie reguläre Ausdrücke schreiben und testen können. Eine davon ist https://regex101.com/ .

https://riptutorial.com/de/home 20

Um diese Komponente zu verwenden, öffnen Sie das JMeter-Menü und: Hinzufügen -> Nachbearbeiter -> Extraktor für reguläre Ausdrücke

https://riptutorial.com/de/home 21

Der Extraktor für reguläre Ausdrücke enthält folgende Felder:

Referenzname - Der Name der Variablen, die nach der Extraktion verwendet werden kann•Regulärer Ausdruck - eine Folge von Symbolen und Zeichen, die eine Zeichenfolge (Muster) ausdrücken, nach der im Text gesucht wird

Vorlage - enthält Verweise auf die Gruppen. Da ein Regex mehrere Gruppen enthalten kann, können Sie festlegen, welchen Gruppenwert Sie extrahieren möchten, indem Sie die Gruppennummer als $ 1 $ oder $ 2 $ oder $ 1 $$ 2 $ angeben (beide Gruppen extrahieren).

Match-Nr. - gibt an, welcher Match verwendet werden soll (0-Wert entspricht zufälligen Werten / jede positive Zahl. N bedeutet, dass der N-te Match ausgewählt werden muss. / Negativer Wert muss mit dem ForEach Controller verwendet werden.

Default - Der Standardwert, der in der Variablen gespeichert wird, falls keine Übereinstimmungen gefunden werden, wird in der Variablen gespeichert.

Das Kontrollkästchen "Anwenden auf" befasst sich mit Beispielen, in denen Anforderungen nach eingebetteten Ressourcen gestellt werden. Dieser Parameter legt fest, ob regulärer Ausdruck auf die Hauptbeispielergebnisse oder auf alle Anforderungen einschließlich eingebetteter Ressourcen angewendet wird. Es gibt mehrere Optionen für diesen Parameter:

Hauptprobe und Unterproben•Nur Hauptprobe•Nur Unterproben•

https://riptutorial.com/de/home 22

JMeter-Variable - Die Assertion wird auf den Inhalt der benannten Variablen angewendet, die mit einer anderen Anforderung gefüllt werden kann

Mit dem Kontrollkästchen "Zu überprüfendes Feld" können Sie auswählen, auf welches Feld der reguläre Ausdruck angewendet werden soll. Fast alle Parameter sind selbstbeschreibend:

Hauptteil - der Hauptteil der Antwort, z. B. der Inhalt einer Webseite (ohne Kopfzeilen)•Body (nicht maskiert) - der Body der Antwort, bei dem alle HTML-Escape-Codes ersetzt wurden. Beachten Sie, dass HTML-Escape-Codes ohne Rücksicht auf den Kontext verarbeitet werden, sodass möglicherweise falsche Ersetzungen vorgenommen werden (* Diese Option wirkt sich stark auf die Leistung aus)

Body - Body als Dokument - der Extrakttext aus verschiedenen Dokumenttypen über Apache Tika (* kann sich auch auf die Leistung auswirken)

Body - Request Headers - ist möglicherweise nicht für Nicht-HTTP-Beispiele vorhanden•Hauptteil - Antwortheader - ist möglicherweise für Nicht-HTTP-Beispiele nicht vorhanden•Body - URL•Antwortcode - zB 200•Body - Response Message - zB OK•

Nachdem der Ausdruck extrahiert wurde, kann er in nachfolgenden Anforderungen mit der Variablen $ {purchaseId} verwendet werden.

https://riptutorial.com/de/home 23

Diese Tabelle enthält alle Kontraktionen, die von JMeter Regular Expressions unterstützt werden:

https://riptutorial.com/de/home 24

Korrelation mit dem XPath-Extraktor in JMeter

Mit XPath können Sie durch Elemente und Attribute in einem XML-Dokument navigieren. Dies ka

<div id="weeklyPrices">

Mit Blick auf die Zukunft lautet der richtige XPath für diesen Fall:

https://riptutorial.com/de/home 25

// div [@ id = 'weekPreise'] / tr / td 1

Um diese Komponente zu verwenden, öffnen Sie das JMeter-Menü und: Hinzufügen -> Postprozessoren -> XPath Extractor

Der XPath-Extraktor enthält mehrere allgemeine Konfigurationselemente, die im Abschnitt "Korrelation mithilfe des regulären Ausdrucks-Extraktors" erwähnt werden. Dazu gehören Name, Übernehmen für, Referenzname, Übereinstimmungsnummer (seit JMeter 3.2) und Standardwert.

Es gibt viele Webressourcen mit Online-Spickzettel und -Editoren zum Erstellen und Testen Ihres erstellten Xpath (wie dieser ). Anhand der folgenden Beispiele können wir jedoch die gängigsten Xpath-Locators erstellen.

https://riptutorial.com/de/home 26

Wenn Sie HTML in XHTML parsen möchten, müssen Sie die Option "Tidy verwenden" aktivieren. Nachdem Sie sich für den Status "Use Tidy" entschieden haben, gibt es noch weitere Optionen:

Wenn "Use Tidy" aktiviert ist:

Ruhig - Setzt das Flag Tidy Quiet•Fehler melden - Wenn ein Fehler auftritt, legen Sie die Assertion entsprechend fest•Warnmeldungen anzeigen - Legt die Option Warnmeldungen anzeigen auf•

Wenn "Use Tidy" nicht aktiviert ist:

Namensräume verwenden - Wenn diese Option aktiviert ist, verwendet der XML-Parser die Namensraumauflösung

Validate XML - prüft das Dokument anhand des angegebenen Schemas•Whitespace ignorieren - Element Whitespace ignorieren•

https://riptutorial.com/de/home 27

Externe DTDs abrufen - Wenn ausgewählt, werden externe DTDs abgerufen•

"Das gesamte XPath-Fragment anstelle von Text zurückgeben" ist selbstbeschreibend und sollte verwendet werden, wenn Sie nicht nur den xpath-Wert, sondern auch den Wert innerhalb seines xpath-Locators zurückgeben möchten. Es kann für das Debuggen von Anforderungen hilfreich sein.

Erwähnenswert ist auch, dass es eine Liste sehr praktischer Browser-Plugins zum Testen von XPath-Locators gibt. Für Firefox können Sie das " Firebug " -Plugin verwenden, während der " XPath Helper " für Chrome das bequemste Werkzeug ist.

Korrelation Verwenden des CSS / JQuery-Extraktors in JMeter

Der CSS / JQuery-Extraktor ermöglicht das Extrahieren von Werten aus einer Serverantwort

https://riptutorial.com/de/home 28

mithilfe einer CSS / JQuery-Selektor-Syntax, die ansonsten mit regulären Ausdrücken möglicherweise schwer zu schreiben war. Als Nachprozessor sollte dieses Element ausgeführt werden, um die angeforderten Knoten-, Text- oder Attributwerte aus einem Anforderungs-Sampler zu extrahieren und das Ergebnis in der angegebenen Variablen zu speichern. Diese Komponente ist dem XPath-Extraktor sehr ähnlich. Die Wahl zwischen CSS, JQuery oder XPath hängt normalerweise von den Benutzervorlieben ab. Erwähnenswert ist jedoch, dass XPath oder JQuery das DOM nach unten und auch nach oben durchlaufen kann, während CSS das DOM nicht durchlaufen kann. Angenommen, wir möchten alle Themen aus der Stack Overflow-Dokumentation extrahieren, die sich auf Java beziehen. Mit dem Firebug- Plugin können Sie Ihre CSS / JQuery-Selektoren in Firefox oder den CSS-Selector-Tester in Chrome testen.

https://riptutorial.com/de/home 29

Um diese Komponente zu verwenden, öffnen Sie das JMeter-Menü und: Hinzufügen -> Postprozessoren -> CSS / JQuery-Extraktor

https://riptutorial.com/de/home 30

Fast alle Felder dieses Extraktors ähneln den Feldern des Extraktors für reguläre Ausdrücke, daher können Sie deren Beschreibung aus diesem Beispiel entnehmen. Ein Unterschied ist jedoch das Feld "Implementierung von CSS / JQuery Extractor". Seit JMeter 2.9 können Sie den CSS / JQuery-Extraktor verwenden, der auf zwei verschiedenen Implementierungen basiert: Die jsoup- Implementierung (detaillierte Beschreibung der Syntax hier ) oder der JODD Lagarto (detaillierte Syntax finden Sie hier ). Beide Implementierungen sind nahezu identisch und weisen nur geringe Syntaxunterschiede auf. Die Wahl zwischen ihnen hängt von den Vorlieben des Benutzers ab.

https://riptutorial.com/de/home 31

Basierend auf der oben genannten Konfiguration können wir alle Themen von der angeforderten Seite extrahieren und die extrahierten Ergebnisse mithilfe des Listeners "Debug Sampler" und "View Results Tree" überprüfen.

Korrelation mit dem JSON-Extraktor

JSON ist ein häufig verwendetes Datenformat, das in webbasierten Anwendungen verwendet wird. Mit dem JMeter-JSON-Extraktor können JSON-Pfadausdrücke zum Extrahieren von Werten aus JSON-basierten Antworten in JMeter verwendet werden. Dieser Postprozessor muss als untergeordnetes Element des HTTP-Samplers oder für andere Sampler mit Antworten platziert

https://riptutorial.com/de/home 32

werden.

Um diese Komponente zu verwenden, öffnen Sie das JMeter-Menü und: Hinzufügen -> Postprozessoren -> JSON-Extraktor.

Der JSON-Extraktor ist dem Extrakt für reguläre Ausdrücke sehr ähnlich. In diesem Beispiel werden fast alle Hauptbereiche erwähnt. Es gibt nur einen bestimmten JSON-Extractor-Parameter: 'Compatenation var'. Falls viele Ergebnisse gefunden werden, werden diese von diesem Extraktor verkettet, indem das Trennzeichen ',' verwendet und in einer Variablen namens _ALL gespeichert wird.

Nehmen wir an, diese Serverantwort mit JSON:

{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction",

https://riptutorial.com/de/home 33

"author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } } }

Die folgende Tabelle enthält ein hervorragendes Beispiel für die verschiedenen Arten, Daten aus einem angegebenen JSON zu extrahieren:

https://riptutorial.com/de/home 34

Über diesen Link finden Sie eine ausführlichere Beschreibung des JSON-Pfadformats mit verwandten Beispielen.

Automatisierte Korrelation durch Verwendung von BlazeMeters "SmartJMX"

Wenn Sie Ihre Leistungsskripts manuell schreiben, müssen Sie die Korrelation selbst behandeln. Es gibt aber noch eine weitere Möglichkeit, Ihre Skripte zu erstellen - die Aufzeichnung von Automatisierungsskripten. Einerseits hilft der manuelle Ansatz beim Schreiben strukturierter Skripts, und Sie können alle erforderlichen Extraktoren gleichzeitig hinzufügen. Auf der anderen

https://riptutorial.com/de/home 35

Seite ist dieser Ansatz sehr zeitaufwändig.

Die Aufzeichnung von Automatisierungsskripten ist sehr einfach und ermöglicht Ihnen die gleiche Arbeit, nur viel schneller. Wenn Sie jedoch gängige Aufnahmemethoden verwenden, sind die Skripts sehr unstrukturiert und erfordern in der Regel zusätzliche Parametrisierung. Die „Smart JMX“ -Funktion des Blazemeter-Recorders vereint die Vorteile beider Möglichkeiten. Sie finden es unter diesem Link: [ https://a.blazemeter.com/app/recorder/index.html([1]

Nach der Registrierung gehen Sie zum Abschnitt "Rekorder".

Um die Skriptaufzeichnung zu starten, müssen Sie zunächst den Proxy Ihres Browsers konfigurieren ( hier behandelt ), dieses Mal sollten Sie jedoch einen Proxy-Host und einen vom BlazeMeter-Recorder bereitgestellten Port erhalten.

https://riptutorial.com/de/home 36

Wenn der Browser konfiguriert ist, können Sie mit der Skriptaufnahme fortfahren, indem Sie den roten Knopf unten drücken. Jetzt können Sie zu der zu testenden Anwendung gehen und Benutzerworkflows für die Aufzeichnung ausführen.

https://riptutorial.com/de/home 37

Nachdem das Skript aufgenommen wurde, können Sie die Ergebnisse in eine "SMART" JMX-Datei exportieren. Eine exportierte JMX-Datei enthält eine Liste von Optionen, mit denen Sie Ihr Skript ohne zusätzlichen Aufwand konfigurieren und parametrisieren können. Eine dieser Verbesserungen ist, dass der JMX „SMART“ Korrelationskandidaten automatisch findet, ihn durch den entsprechenden Extraktor ersetzt und eine einfache Möglichkeit zur weiteren Parametrisierung bietet.

Apache JMeter-Korrelationen online lesen: https://riptutorial.com/de/jmeter/topic/8978/apache-jmeter-korrelationen

https://riptutorial.com/de/home 38

Kapitel 4: Apache JMeter-Parametrisierung

Einführung

Bei der Parametrisierung werden verschiedene Datensätze für verschiedene Benutzer im gleichen Testskript erstellt. Sie können beispielsweise mehrere Benutzer mit unterschiedlichen Anmeldeinformationen im selben Skript ausführen. Dies macht es zu einem der wichtigsten Aspekte bei der Erstellung von Leistungstests.

Examples

Parametrierung über externe Dateien

Eine der häufigsten Methoden zur Parametrisierung von Leistungsskripts ist die Verwendung einer CSV-Datei. Das beste Beispiel für die Verwendung von CSV-Eingabedateien ist ein Anmeldeprozess. Wenn Sie Ihre Anwendung für verschiedene Benutzer testen möchten, müssen Sie eine Liste mit Benutzeranmeldeinformationen angeben.

Nehmen wir an, wir haben eine Anmeldeanforderung, die für einen bestimmten Benutzer funktioniert:

https://riptutorial.com/de/home 39

Wir können diese Anforderung leicht parametrisieren, indem Sie eine externe CSV-Datei verwenden und das Skript für verschiedene Benutzer ausführen. So fügen Sie die CSV-Parametrisierungskonfiguration hinzu:

Klicken Sie mit der rechten Maustaste auf die Anmeldeanforderung -> Hinzufügen -> Konfigurationselement -> CSV-Datensatzkonfiguration

https://riptutorial.com/de/home 40

Eine kurze Erläuterung der Parameter für 'CSV Data Set Config':

Name - Elementname, wie er in der JMeter-Struktur verwendet wird•Dateiname - Name der Eingabedatei. Relative Dateinamen werden basierend auf dem Pfad des aktiven Testplans aufgelöst. Es werden auch absolute Dateinamen unterstützt

Dateikodierung - Kodierung der Eingabedatei, falls dies nicht der Standard der Plattform ist•Variablennamen - Liste der getrennten Variablennamen, die als Container für geparste Werte verwendet werden. Wenn sie leer ist, wird die erste Zeile der Datei als Liste der Variablennamen interpretiert

Trennzeichen - Trennzeichen, mit dem die analysierten Werte aus der Eingabedatei getrennt werden

Zitierte Daten zulassen? - true, wenn Sie doppelte Anführungszeichen ignorieren und zulassen möchten, dass solche Elemente ein Trennzeichen enthalten.

Auf EOF recyceln? - true, wenn der Dateiprüfplan die Datei mehrmals durchlaufen soll. Es weist JMeter an, den Cursor am Anfang der Datei zu bewegen

Thread auf EOF stoppen? - false, wenn die CDC-Datei wiederholt wird, und true, wenn der Thread nach dem Lesen der gesamten Datei angehalten werden soll

https://riptutorial.com/de/home 41

Teilen-Modus:Alle Threads - die Datei wird von allen virtuellen Benutzern gemeinsam genutzt (Standardeinstellung)

Aktuelle Threadgruppe - Die Datei wird für jede Threadgruppe einmal geöffnet○

Aktueller Thread - Jede Datei wird für jeden Thread separat geöffnet○

Bezeichner - Alle Threads, die denselben Bezeichner verwenden, teilen sich auch dieselbe Datei

Erstellen wir eine CSV-Datei, die verschiedene Benutzer mit Namen und Kennwörtern enthält:

Wir können diese Datei jetzt mit der CSV-Datensatzkonfiguration verwenden. In unserem Fall reicht es aus, die Konfigurationswerte "Dateiname" und "Variablennamen" hinzuzufügen:

https://riptutorial.com/de/home 42

Als letzten Schritt müssen Sie die Anmeldeanforderung mit CSV-Variablen parametrisieren. Dies kann durch Ersetzen der Anfangswerte durch entsprechende Variablen aus dem Konfigurationsfeld „Variablennamen“ der CSV-Datensatzkonfiguration wie folgt erfolgen:

https://riptutorial.com/de/home 43

Wenn wir jetzt unser Testskript ausführen, ersetzt JMeter diese Variablen durch Werte aus der Datei 'TestUsers.csv'. Jeder virtuelle JMeter-Benutzer erhält Anmeldeinformationen aus der folgenden CSV-Dateizeile.

Die Login-Anfrage des ersten Benutzers:

https://riptutorial.com/de/home 44

Die Login-Anfrage des zweiten Benutzers:

https://riptutorial.com/de/home 45

Parametrisierung über Datenbanken

Eine andere Möglichkeit zur Parametrisierung der Leistungsskripts besteht in der Verwendung von Datenbankdaten über JDBC. JDBC ist eine Anwendungsprogrammierschnittstelle, die definiert, wie ein Client auf eine Datenbank zugreifen kann.

https://riptutorial.com/de/home 46

Laden Sie zunächst den JDBC-Treiber in Ihre Datenbank herunter (siehe Datenbankanbieter). Zum Beispiel kann der MySQL-Treiber hier gefunden werden. Dann können Sie es hinzufügen, indem Sie die .jar-Datei mit dem folgenden Formular zum Testplan hinzufügen:

Es ist jedoch besser, die Jar-Datei im lib-Ordner hinzuzufügen und JMeter neu zu starten.

Anschließend konfigurieren Sie die Datenbankverbindung mithilfe des Elements 'JDBC Connection Configuration'. So geht es: Klicken Sie mit der rechten Maustaste auf Thread-Gruppe -> Hinzufügen -> Konfigurationselement -> JDBC-Verbindungskonfiguration

https://riptutorial.com/de/home 47

Parameter für die JDBC-Verbindungskonfiguration:

Name - Name der Verbindungskonfiguration, die in der Threadgruppenstruktur angezeigt wird

Variablenname - Name, der als eindeutiger Bezeichner für die Datenbankverbindung verwendet wird (mehrere Verbindungen können verwendet werden und jede Verbindung wird an einen anderen Namen gebunden)

https://riptutorial.com/de/home 48

Maximale Anzahl von Verbindungen - maximale Anzahl von Verbindungen, die im Verbindungspool zulässig sind. Im Fall von 0 erhält jeder Thread einen eigenen Pool mit einer einzelnen Verbindung

Max Wait (ms) - Der Pool gibt einen Fehler aus, wenn das angegebene Zeitlimit während der Datenbankverbindung überschritten wird

Time Between Eviction Runs (ms) - Anzahl der Millisekunden, die zwischen den Ausführungen des Threads angehalten werden sollen, der nicht verwendete Verbindungen aus dem Datenbankpool entfernt

Auto-Commit - Ja, um das Auto-Commit für verwandte Datenbankverbindungen zu aktivieren

Test While Idle (Leerlauf testen) - Überprüfen Sie die Leerlaufverbindungen, bevor eine effektive Anforderung erkannt wird. Weitere Details: BasicDataSource.html # getTestWhileIdle

Soft Min Evictable Idle Time (ms) - Zeitraum, in dem eine angegebene Verbindung möglicherweise im DB-Pool inaktiv ist, bevor sie geräumt werden kann. Weitere Details: BasicDataSource.html # getSoftMinEvictableIdleTimeMillis

Validierungsabfrage - Healthcheck-Abfrage, die verwendet wird, um zu überprüfen, ob die Datenbank noch antwortet

Datenbank-URL - JDBC-Verbindungszeichenfolge für die Datenbank. Siehe hier für Beispiele

JDBC-Treiberklasse - geeigneter Name der Treiberklasse (spezifisch für jede Datenbank). Beispiel: "com.mysql.jdbc.Driver" für MySql-Datenbank

Benutzername - Datenbank-Benutzername•Passwort - Datenbank-Passwort (wird unverschlüsselt im Testplan gespeichert)•

In unserem Fall müssen wir nur die Pflichtfelder festlegen:

Variablenname An Pool gebunden.•Datenbank-URL•JDBC-Treiberklasse•Nutzername•Passwort•

Die restlichen Felder auf dem Bildschirm können als Standardeinstellungen verwendet werden:

https://riptutorial.com/de/home 49

Nehmen wir an, dass wir Testbenutzerdaten in der Datenbank speichern:

https://riptutorial.com/de/home 50

Wenn die Datenbankverbindung nun konfiguriert ist, können Sie die JDBC-Anforderung selbst hinzufügen und ihre Abfrage verwenden, um alle Anmeldeinformationen von der Datenbank abzurufen: Klicken Sie mit der rechten Maustaste auf Thread-Gruppe -> Hinzufügen -> Beispiel -> JDBC-Anforderung

Mit der Abfrage 'Select Statement' und 'Variablennamen' können wir die Antwort auf benutzerdefinierte Variablen analysieren.

https://riptutorial.com/de/home 51

Wir haben jetzt JMeter-Variablen, die in nachfolgenden Anforderungen weiter verwendet werden können. Angegebene Variablen werden mit einem inkrementellen Suffix (email_1, email_2, email_3… ..) erstellt.

Um diese Variablen in der Anmeldeanforderung verwenden zu können, müssen Sie einen Zähler hinzufügen, der für den Zugriff auf die richtigen Werte aus der JDBC-Abfrageantwort verwendet wird. So fügen Sie das Element 'Counter' in JMeter hinzu: Klicken Sie mit der rechten Maustaste

https://riptutorial.com/de/home 52

auf Thread-Gruppe -> Hinzufügen -> Konfigurationselement -> Counter

Danach können wir die 'Login-Anfrage' mit der Funktion __V aktualisieren. Dies gibt das Ergebnis der Auswertung eines Variablennamenausdrucks zurück und kann verwendet werden, um geschachtelte Variablenreferenzen auszuwerten:

https://riptutorial.com/de/home 53

Die angegebene Konfiguration reicht aus, um Datenbankwerte zur Ausführung des Skripts für verschiedene Benutzer zu verwenden:

https://riptutorial.com/de/home 54

https://riptutorial.com/de/home 55

Parametrierung mit dem Plugin 'Parametrisierter Controller'

Wenn Sie eine Wiederholungssequenz derselben Aktion mit anderen Parametern ausführen müssen, verwenden Sie das Drittanbieter -Plug-In aus dem JMeter-Plugins- Projekt.

Sie müssen dieses Plugin zuerst installieren, indem Sie das Installationsverfahren befolgen.

Nehmen wir an, dass wir den Login-Workflow parametrisieren wollen:

https://riptutorial.com/de/home 56

Zunächst muss das Plugin 'Parametrisierter Controller' installiert werden, da es nicht im JMeter-Core enthalten ist. Installationsschritte dieses Prozesses finden Sie hier.

Verschieben Sie die Anmeldeanforderung in einen separaten Controller und deaktivieren Sie sie (klicken Sie mit der rechten Maustaste darauf und wählen Sie "Deaktivieren"). Dies ist die beste Methode, um einen Modulcontainer in Ihrem Testplan zu haben und Workbench nicht als einen solchen Container zu verwenden. Nachdem die Installation abgeschlossen ist, können Sie zwei Controller 'Parametrisierte Controller' mit unterschiedlichen Benutzeranmeldeinformationen hinzufügen: Klicken Sie mit der rechten Maustaste auf Thread-Gruppe -> Hinzufügen -> Logic Controller -> Parametrierter Controller

https://riptutorial.com/de/home 57

Parametrisierte Controller enthalten den Abschnitt 'User Defined Variables', in dem Sie Ihre Parameter angeben können. Geben Sie die Anmeldeinformationen des ersten Benutzers in den ersten parametrierten Controller und die zweiten Benutzer-Anmeldeinformationen in den zweiten parametrisierten Controller ein.

https://riptutorial.com/de/home 58

Fügen Sie in beiden parametrisierten Controllern Referenzen zum 'Wiederverwendbaren Controller' hinzu, um die 'Login-Anforderung' mit verschiedenen Parametern aufzurufen. Es kann so gemacht werden:

Rechtsklick auf 'Parametrierte Steuerung' -> 'Hinzufügen' -> 'Logiksteuerung' -> 'Modulsteuerung'

https://riptutorial.com/de/home 59

Wenn Sie Ihr Skript ausführen, werden Sie feststellen, dass die 'Login-Anfrage' jeden der parametrierten Controller separat ausgelöst hat. Dies kann sehr nützlich sein, wenn Sie Ihr Skript für verschiedene Kombinationen von Eingabeparametern ausführen müssen.

https://riptutorial.com/de/home 60

Apache JMeter-Parametrisierung online lesen: https://riptutorial.com/de/jmeter/topic/9602/apache-jmeter-parametrisierung

https://riptutorial.com/de/home 61

Credits

S. No

Kapitel Contributors

1Erste Schritte mit Apache JMeter

Aliaksandr Belik, Chulbul Pandey, Community, Kiril S., M Navneet Krishna, Milamber, Naveen, NaveenKumar Namachivayam, RowlandB, UBIK LOAD PACK, Venkatesh Achanta

2Apache JMeter: Testszenario-Aufnahme

UBIK LOAD PACK, Yuri Bushnev

3Apache JMeter-Korrelationen

UBIK LOAD PACK, Yuri Bushnev

4Apache JMeter-Parametrisierung

UBIK LOAD PACK, Yuri Bushnev

https://riptutorial.com/de/home 62