jMeter - Kurzanleitung

Bevor wir auf die Details von JMeter eingehen, lassen Sie uns zunächst einige Jargons verstehen, die mit dem Testen einer Anwendung verbunden sind.

  • Performance Test- Dieser Test legt die bestmögliche Leistungserwartung unter einer bestimmten Infrastrukturkonfiguration fest. Außerdem wird zu Beginn des Testprozesses hervorgehoben, ob Änderungen vorgenommen werden müssen, bevor die Anwendung in Produktion geht.

  • Load Test - Dieser Test wird im Wesentlichen zum Testen des Systems unter der Höchstlast verwendet, unter der es betrieben werden soll.

  • Stress Test - Dieser Test ist ein Versuch, das System durch Überlastung seiner Ressourcen zu beschädigen.

Was ist JMeter?

JMeter ist eine Software, die Lasttests, leistungsorientierte Geschäfts- (Funktions-) Tests, Regressionstests usw. mit verschiedenen Protokollen oder Technologien durchführen kann.

Stefano Mazzocchider Apache Software Foundation war der ursprüngliche Entwickler von JMeter. Er schrieb es hauptsächlich, um die Leistung von Apache JServ (jetzt als Apache Tomcat-Projekt bezeichnet) zu testen. Apache hat JMeter später neu gestaltet, um die GUI zu verbessern und Funktionstestfunktionen hinzuzufügen.

JMeter ist eine Java-Desktopanwendung mit einer grafischen Oberfläche, die die grafische Swing-API verwendet. Es kann daher in jeder Umgebung / Workstation ausgeführt werden, die eine virtuelle Java-Maschine akzeptiert, z. B. Windows, Linux, Mac usw.

Die von JMeter unterstützten Protokolle sind -

  • Web - HTTP, HTTPS-Sites 'Web 1.0' Web 2.0 (Ajax, Flex und Flex-Ws-Amf)

  • Webdienste - SOAP / XML-RPC

  • Datenbank über JDBC-Treiber

  • Verzeichnis - LDAP

  • Messaging-orientierter Dienst über JMS

  • Service - POP3, IMAP, SMTP

  • FTP-Dienst

JMeter-Funktionen

Im Folgenden sind einige der Funktionen von JMeter aufgeführt:

  • Als Open-Source-Software ist sie frei verfügbar.

  • Es hat eine einfache und intuitive GUI.

  • JMeter kann Last- und Leistungstests für viele verschiedene Servertypen durchführen - Web-HTTP, HTTPS, SOAP, Datenbank über JDBC, LDAP, JMS, Mail-POP3 usw.

  • Es ist ein plattformunabhängiges Tool. Unter Linux / Unix kann JMeter durch Klicken auf das JMeter-Shell-Skript aufgerufen werden. Unter Windows kann es durch Starten der Datei jmeter.bat aufgerufen werden.

  • Es bietet volle Unterstützung für Swing und leichte Komponenten (vorkompilierte JAR verwendet die Pakete javax.swing. *).

  • JMeter speichert seine Testpläne im XML-Format. Dies bedeutet, dass Sie mit einem Texteditor einen Testplan erstellen können.

  • Das vollständige Multithreading-Framework ermöglicht die gleichzeitige Abtastung durch viele Threads und die gleichzeitige Abtastung verschiedener Funktionen durch separate Thread-Gruppen.

  • Es ist sehr erweiterbar.

  • Es kann auch verwendet werden, um automatisierte und funktionale Tests der Anwendungen durchzuführen.

Wie funktioniert JMeter?

JMeter simuliert eine Gruppe von Benutzern, die Anforderungen an einen Zielserver senden, und gibt Statistiken zurück, die die Leistung / Funktionalität des Zielservers / der Zielanwendung über Tabellen, Grafiken usw. anzeigen.

Schauen Sie sich die folgende Abbildung an, die zeigt, wie JMeter funktioniert -

JMeter ist ein Framework für Java. Die allererste Anforderung besteht darin, JDK auf Ihrem Computer zu installieren.

System Anforderungen

JDK 1.6 oder höher.
Erinnerung Keine Mindestanforderung.
Festplattenplatz Keine Mindestanforderung.
Betriebssystem Keine Mindestanforderung.

Schritt 1: Überprüfen Sie die Java-Installation

Überprüfen Sie zunächst, ob Java auf Ihrem System installiert ist. Öffnen Sie Ihre Konsole und führen Sie einen der folgenden Schritte ausjava Befehle basierend auf dem Betriebssystem, an dem Sie arbeiten.

Betriebssystem Aufgabe Befehl
Windows Öffnen Sie die Befehlskonsole c: \> Java-Version
Linux Öffnen Sie das Befehlsterminal $ java -version
Mac Terminal öffnen Maschine: ~ Joseph $ Java-Version

Wenn Sie Java in Ihrem System installiert haben, erhalten Sie eine entsprechende Ausgabe basierend auf dem Betriebssystem, an dem Sie arbeiten.

Betriebssystem Ausgabe
Windows

Java-Version "1.7.0_25"

Java (TM) SE-Laufzeitumgebung (Build 1.7.0_25-b15)

Java HotSpot (TM) 64-Bit-Server-VM (Build 23.25-b01, gemischter Modus)

Linux

Java-Version "1.7.0_25"

Java (TM) SE-Laufzeitumgebung (Build 1.7.0_25-b15)

Java HotSpot (TM) 64-Bit-Server-VM (Build 23.25-b01, gemischter Modus)

Mac

Java-Version "1.7.0_25"

Java (TM) SE-Laufzeitumgebung (Build 1.7.0_25-b15)

Java HotSpot (TM) 64-Bit-Server-VM (Build 23.25-b01, gemischter Modus)

Wenn Sie Java nicht installiert haben, installieren Sie das Java Software Development Kit (SDK) unter www.oracle.com/technetwork/java/javase/downloads/index.html . Wir gehen davon aus, dass Java 1.7.0_25 die installierte Version für dieses Tutorial ist.

Schritt 2: Stellen Sie die Java-Umgebung ein

Stellen Sie die JAVA_HOMEUmgebungsvariable, die auf den Speicherort des Basisverzeichnisses verweist, in dem Java auf Ihrem Computer installiert ist. Zum Beispiel -

Betriebssystem Ausgabe
Windows Setzen Sie die Umgebungsvariable JAVA_HOME auf C: \ Programme \ Java \ jdk1.7.0_25
Linux export JAVA_HOME = / usr / local / java-current
Mac export JAVA_HOME = / Library / Java / Home

Hängen Sie den Java-Compiler-Speicherort an den Systempfad an.

Betriebssystem Ausgabe
Windows Fügen Sie die Zeichenfolge hinzu. C: \ Programme \ Java \ jdk1.7.0_25 \ bin bis zum Ende der Systemvariablen Path.
Linux export PATH = $ PATH: $ JAVA_HOME / bin /
Mac nicht benötigt

Überprüfen Sie die Java-Installation mit java -version Befehl wie oben erklärt.

Schritt 3: Laden Sie JMeter herunter

Laden Sie die neueste Version von JMeter von herunter https://jmeter.apache.org/download_jmeter.cgi. Für dieses Tutorial haben wir apache-jmeter-2.9 heruntergeladen und in den Ordner C: \> JMeter kopiert.

Die Verzeichnisstruktur sollte wie folgt aussehen -

  • apache-jmeter-2.9
  • apache-jmeter-2.9\bin
  • apache-jmeter-2.9\docs
  • apache-jmeter-2.9\extras
  • apache-jmeter-2.9\lib\
  • apache-jmeter-2.9\lib\ext
  • apache-jmeter-2.9\lib\junit
  • apache-jmeter-2.9\printable_docs

Sie können das übergeordnete Verzeichnis (dh apache-jmeter-2.9) umbenennen, wenn Sie möchten, aber keinen der Namen des Unterverzeichnisses ändern.

Schritt 4: Führen Sie JMeter aus

Wechseln Sie nach dem Herunterladen von JMeter in das Verzeichnis bin . In diesem Fall ist es/home/manisha/apache-jmeter-2.9/bin. Klicken Sie nun auf Folgendes:

Betriebssystem Ausgabe
Windows jmeter.bat
Linux jmeter.sh
Mac jmeter.sh

Nach einer kurzen Pause sollte die JMeter-Benutzeroberfläche angezeigt werden, bei der es sich um eine Swing-Anwendung handelt, wie im folgenden Screenshot dargestellt:

Dies ist die Hauptseite und die Standardseite des Tools.

Was ist ein Testplan?

Ein Testplan kann als Container zum Ausführen von Tests angesehen werden. Es definiert, was zu testen ist und wie es zu tun ist. Ein vollständiger Testplan besteht aus einem oder mehreren Elementen wie Thread-Gruppen, Logik-Controllern, Sample-generierenden Controllern, Listenern, Timern, Assertions und Konfigurationselementen. Ein Testplan muss mindestens eine Thread-Gruppe haben.

Testplan schreiben

Befolgen Sie die unten angegebenen Schritte, um einen Testplan zu erstellen -

Schritt 1: Starten Sie das JMeter-Fenster

Öffnen Sie das JMeter-Fenster, indem Sie auf klicken /home/manisha/apache-jmeter-2.9/bin/jmeter.sh. Das JMeter-Fenster wird wie folgt angezeigt:

Dies ist ein einfaches und leeres JMeter-Fenster, dem keine zusätzlichen Elemente hinzugefügt wurden. Es enthält zwei Knoten -

  • Test Plan node - Hier wird der eigentliche Testplan aufbewahrt.

  • Workbench node- Es bietet lediglich einen Platz zum vorübergehenden Speichern von Testelementen, die nicht verwendet werden, zum Kopieren / Einfügen. Wenn Sie Ihren Testplan speichern, werden Workbench-Elemente nicht damit gespeichert.

Schritt 2: Elemente hinzufügen / entfernen

Elemente (die im nächsten Kapitel Testplanelemente erläutert werden ) können einem Testplan hinzugefügt werden, indem Sie mit der rechten Maustaste auf den Knoten Testplan klicken und ein neues Element aus der Liste "Hinzufügen" auswählen.

Alternativ können Sie ein Element aus einer Datei laden und hinzufügen, indem Sie die Option "Zusammenführen" oder "Öffnen" auswählen.

Fügen wir beispielsweise ein Testgruppenelement zu einem Testplan hinzu, wie unten gezeigt -

Um ein Element zu entfernen, stellen Sie sicher, dass das Element ausgewählt ist, klicken Sie mit der rechten Maustaste auf das Element und wählen Sie die Option "Entfernen".

Schritt 3: Laden und Speichern der Elemente

So laden Sie ein Element aus einer Datei:

  • Klicken Sie mit der rechten Maustaste auf das vorhandene Baumelement, zu dem Sie das geladene Element hinzufügen möchten.
  • Wählen Sie Zusammenführen.
  • Wählen Sie die Datei aus, in der Sie die Elemente gespeichert haben.
  • JMeter führt die Elemente in den Baum ein.

Standardmäßig speichert JMeter das Element nicht, Sie müssen es explizit speichern.

Baumelemente speichern -

  • Klicken Sie mit der rechten Maustaste auf das Element.
  • Wählen Sie die Option Auswahl speichern unter ...

JMeter speichert das ausgewählte Element sowie alle untergeordneten Elemente darunter. Standardmäßig speichert JMeter die Elemente nicht. Sie müssen sie wie oben erwähnt explizit speichern.

Schritt 4: Konfigurieren der Baumelemente

Jedes Element im Testplan kann mithilfe der Steuerelemente im rechten Rahmen von JMeter konfiguriert werden. Mit diesen Steuerelementen können Sie das Verhalten dieses bestimmten Testelements konfigurieren. Beispielsweise kann die Thread-Gruppe für eine Anzahl von Benutzern, Hochlaufperioden usw. konfiguriert werden, wie unten gezeigt -

Schritt 5: Speichern des Testplans

Sie können einen vollständigen Testplan mit beiden speichern Save oder "Save Test Plan As ..." aus dem Menü Datei.

Schritt 6: Führen Sie den Testplan aus

Sie können den Testplan ausführen, indem Sie auf klicken Start(Strg + r) von der RunMenüpunkt. Wenn JMeter zu laufen beginnt, wird am rechten Ende des Abschnitts direkt unter der Menüleiste ein kleines grünes Kästchen angezeigt.

Die Zahlen links neben dem grünen Feld geben die Anzahl der aktiven Threads / die Gesamtzahl der Threads an. Diese gelten nur für einen lokal ausgeführten Test. Sie enthalten keine Threads, die auf Remote-Systemen im Client-Server-Modus gestartet wurden.

Schritt 7: Stoppen Sie den Testplan

Sie können Ihren Test auf zwei Arten stoppen:

  • Verwenden von Stop(Strg + '.'). Wenn möglich, werden die Threads sofort gestoppt.

  • Verwenden von Shutdown(Strg + ','). Es fordert die Threads auf, am Ende einer aktuellen Arbeit anzuhalten.

Ein JMeter-Testplan besteht aus den unten diskutierten Testelementen. Ein Testplan besteht aus mindestens einer Thread-Gruppe. Innerhalb jeder Thread-Gruppe können wir eine Kombination aus einem oder mehreren anderen Elementen platzieren - Sampler, Logic Controller, Konfigurationselement, Listener und Timer. Vor jedem Sampler können ein oder mehrere Vorprozessorelemente stehen, gefolgt von einem Postprozessorelement und / oder einem Assertion-Element. Lassen Sie uns jedes dieser Elemente im Detail sehen -

Thread-Gruppe

Thread-Gruppenelemente sind die Anfangspunkte Ihres Testplans. Wie der Name schon sagt, steuern die Thread-Gruppenelemente die Anzahl der Threads, die JMeter während des Tests verwendet. Wir können auch Folgendes über die Thread-Gruppe steuern -

  • Festlegen der Anzahl der Threads

  • Hochlaufzeit einstellen

  • Festlegen der Anzahl der Testiterationen

Die Systemsteuerung für Thread-Gruppen sieht folgendermaßen aus:

Das Thread-Gruppenfenster enthält die folgenden Komponenten:

  • Action to be taken after a Sampler error - Falls während der Testausführung ein Fehler auftritt, können Sie den Test entweder zulassen -

    • Continue zum nächsten Element im Test

    • Stop Thread um den aktuellen Thread zu stoppen.

    • Stop Test vollständig, falls Sie den Fehler überprüfen möchten, bevor er weiter ausgeführt wird.

  • Number of Threads - Simuliert die Anzahl der Benutzer oder Verbindungen zu Ihrer Serveranwendung.

  • Ramp-Up Period Legt fest, wie lange JMeter benötigt, um alle Threads zum Laufen zu bringen.

  • Loop Count - Legt fest, wie oft der Test ausgeführt werden soll.

  • Scheduler checkbox - Nach der Auswahl wird der Abschnitt Scheduler-Konfiguration unten in der Systemsteuerung angezeigt.

  • Scheduler Configuration - Sie können die Start- und Endzeit für die Ausführung des Tests konfigurieren.

Controller

JMeter verfügt über zwei Arten von Controllern: Sampler und Logikcontroller .

Sampler

Mit Samplern kann JMeter bestimmte Arten von Anforderungen an einen Server senden. Sie simulieren eine Benutzeranforderung für eine Seite vom Zielserver. Sie können beispielsweise einen HTTP-Anforderungs-Sampler hinzufügen, wenn Sie einen POST, GET oder DELETE für einen HTTP-Dienst ausführen müssen.

Einige nützliche Sampler sind -

  • HTTP-Anfrage
  • FTP-Anfrage
  • JDBC-Anfrage
  • Java-Anfrage
  • SOAP / XML-Anfrage
  • RPC-Anfragen

Der folgende Screenshot zeigt ein HTTP Request Sampler Control Panel -

Logik-Controller

Mit Logik-Controllern können Sie die Reihenfolge der Verarbeitung von Samplern in einem Thread steuern. Logikcontroller können die Reihenfolge einer Anforderung ändern, die von einem ihrer untergeordneten Elemente kommt. Einige Beispiele sind: ForEach Controller, While-Controller, Loop-Controller, IF-Controller, Laufzeit-Controller, Interleave-Controller, Durchsatz-Controller und Run Once-Controller.

Der folgende Screenshot zeigt eine Loop Controller-Systemsteuerung -

Die folgende Liste enthält alle von JMeter bereitgestellten Logikcontroller -

  • Einfache Steuerung
  • Loop-Controller
  • Einmaliger Controller
  • Interleave Controller
  • Zufälliger Controller
  • Controller für zufällige Reihenfolge
  • Durchsatzregler
  • Laufzeit-Controller
  • Wenn Controller
  • Während Controller
  • Controller wechseln
  • Für jeden Controller
  • Modulsteuerung
  • Controller einschließen
  • Transaktionscontroller
  • Aufnahmesteuerung

Fragmente testen

Ein Testfragment ist ein spezieller Elementtyp, der auf derselben Ebene wie das Threadgruppenelement platziert ist. Es unterscheidet sich von einer Thread-Gruppe dadurch, dass es nur ausgeführt wird, wenn es von einem Modul-Controller oder einem Include_Controller referenziert wird. Dieses Element dient ausschließlich zur Wiederverwendung von Code in Testplänen.

Zuhörer

Mit Listenern können Sie die Ergebnisse von Samplern in Form von Tabellen, Grafiken, Bäumen oder einfachem Text in einigen Protokolldateien anzeigen. Sie bieten visuellen Zugriff auf die von JMeter gesammelten Daten zu den Testfällen, wenn eine Sampler-Komponente von JMeter ausgeführt wird.

Listener können an einer beliebigen Stelle im Test hinzugefügt werden, auch direkt unter dem Testplan. Sie sammeln nur Daten von Elementen auf oder unter ihrer Ebene. Die folgende Liste enthält alle Listener, die JMeter bereitstellt:

  • Beispielergebnis Konfiguration speichern
  • Vollständige Ergebnisse grafisch darstellen
  • Diagrammergebnisse
  • Spline Visualizer
  • Behauptung Ergebnisse
  • Ergebnisbaum anzeigen
  • Gesamtbericht
  • Ergebnisse in Tabelle anzeigen
  • Einfacher Datenschreiber
  • Ergebnisse überwachen
  • Verteilungsdiagramm (Alpha)
  • Aggregatdiagramm
  • Mailer Visualizer
  • BeanShell Listener
  • Kurzbericht

Timer

Standardmäßig sendet ein JMeter-Thread Anforderungen, ohne zwischen den einzelnen Samplern zu pausieren. Dies ist möglicherweise nicht das, was Sie wollen. Sie können ein Timer-Element hinzufügen, mit dem Sie eine Wartezeit zwischen den einzelnen Anforderungen definieren können.

Die folgende Liste zeigt alle von JMeter bereitgestellten Timer -

  • Konstanter Timer
  • Gaußscher Zufalls-Timer
  • Uniform Random Timer
  • Timer für konstanten Durchsatz
  • Timer synchronisieren
  • JSR223 Zeit
  • BeanShell-Zeit
  • BSF-Zeit
  • Poisson Zufällige Zeit

Der folgende Screenshot zeigt ein Constant Timer Control Panel -

Behauptungen

Mithilfe von Zusicherungen können Sie einen Validierungstest für die Antwort Ihrer Anfrage mit einem Sampler einschließen. Mithilfe von Zusicherungen können Sie nachweisen, dass Ihre Anwendung die richtigen Daten zurückgibt. JMeter hebt hervor, wenn eine Zusicherung fehlschlägt.

Die folgende Liste enthält alle Aussagen, die JMeter macht -

  • Beanshell Behauptung
  • BSF-Behauptung
  • Vergleichen Sie die Behauptung
  • JSR223-Behauptung
  • Antwort Behauptung
  • Dauer Behauptung
  • Größenbehauptung
  • XML-Zusicherung
  • BeanShell-Behauptung
  • MD5Hex-Behauptung
  • HTML-Bestätigung
  • XPath-Behauptung
  • XML-Schema-Zusicherung

Der folgende Screenshot zeigt ein Response Assertion Control Panel -

Konfigurationselemente

Mit Konfigurationselementen können Sie Standardeinstellungen und Variablen erstellen, die von Samplern verwendet werden. Sie werden verwendet, um Anforderungen von Samplern hinzuzufügen oder zu ändern.

Sie werden zu Beginn des Bereichs ausgeführt, zu dem sie gehören, vor Samplern, die sich im selben Bereich befinden. Daher wird auf ein Konfigurationselement nur innerhalb des Zweigs zugegriffen, in dem es platziert ist.

Die folgende Liste enthält alle von JMeter bereitgestellten Konfigurationselemente:

  • Counter
  • CSV-Datensatzkonfiguration
  • Standardeinstellungen für FTP-Anforderungen
  • HTTP Authorization Manager
  • HTTP-Cache-Manager
  • HTTP-Cookie-Manager
  • HTTP-Proxyserver
  • Standardeinstellungen für HTTP-Anforderungen
  • HTTP-Header-Manager
  • Standardeinstellungen für Java-Anforderungen
  • Keystore-Konfiguration
  • JDBC-Verbindungskonfiguration
  • Login-Konfigurationselement
  • LDAP-Anforderungsstandards
  • LDAP Extended Request Defaults
  • TCP Sampler Config
  • Benutzerdefinierte Variablen
  • Einfaches Konfigurationselement
  • Zufällige Variable

Pre-Prozessor-Elemente

Ein Vorprozessorelement wird unmittelbar vor der Ausführung eines Samplers ausgeführt. Sie werden häufig verwendet, um die Einstellungen einer Beispielanforderung unmittelbar vor ihrer Ausführung zu ändern oder um Variablen zu aktualisieren, die nicht aus dem Antworttext extrahiert wurden.

Die folgende Liste enthält alle von JMeter bereitgestellten Vorprozessorelemente:

  • HTML Link Parser
  • Modifikator zum erneuten Schreiben der HTTP-URL
  • HTTP User Parameter Modifier
  • Benutzerparameter
  • JDBC-Präprozessor
  • JSR223 PreProcessor
  • RegEx-Benutzerparameter
  • BeanShell PreProcessor
  • BSF-Vorprozessor

Postprozessor-Elemente

Ein Postprozessor wird ausgeführt, nachdem ein Sampler seine Ausführung beendet hat. Dieses Element wird am häufigsten verwendet, um die Antwortdaten zu verarbeiten, um beispielsweise einen bestimmten Wert für die spätere Verwendung abzurufen.

Die folgende Liste enthält alle von JMeter bereitgestellten Postprozessorelemente:

  • Extraktor für reguläre Ausdrücke
  • XPath Extractor
  • Ergebnisstatus-Aktionshandler
  • JSR223 PostProcessor
  • JDBC-Postprozessor
  • BSF PostProcessor
  • CSS / JQuery Extractor
  • BeanShell PostProcessor
  • Debuggen Sie PostProcessor

Ausführungsreihenfolge der Testelemente

Es folgt die Ausführungsreihenfolge der Testplanelemente -

  • Konfigurationselemente
  • Pre-Processors
  • Timers
  • Sampler
  • Postprozessoren (es sei denn, SampleResult ist null)
  • Behauptungen (es sei denn, SampleResult ist null)
  • Listener (es sei denn, SampleResult ist null)

Lassen Sie uns einen einfachen Testplan erstellen, der eine Webseite testet. Wir schreiben einen Testplan in Apache JMeter, damit wir die Leistung der unter der URL www.tutorialspoint.com angezeigten Webseite testen können .

Starten Sie JMeter

Öffnen Sie das JMeter-Fenster, indem Sie auf klicken /home/manisha/apache-jmeter-2.9/bin/jmeter.sh. Das JMeter-Fenster wird wie folgt angezeigt:

Benennen Sie den Testplan um

Ändern Sie den Namen des Testplanknotens im Textfeld Name in Beispieltest . Sie müssen den Fokus auf den Workbench-Knoten und zurück zum Testplan-Knoten ändern, um zu sehen, wie der Name wiedergegeben wird.

Thread-Gruppe hinzufügen

Jetzt fügen wir unser erstes Element in das Fenster ein. Wir fügen eine Thread-Gruppe hinzu, die ein Platzhalter für alle anderen Elemente wie Sampler, Controller und Listener ist. Wir benötigen einen, damit wir die Anzahl der zu simulierenden Benutzer konfigurieren können.

In JMeter werden alle Knotenelemente über das Kontextmenü hinzugefügt.

  • Klicken Sie mit der rechten Maustaste auf das Element, zu dem Sie einen untergeordneten Elementknoten hinzufügen möchten.

  • Wählen Sie die entsprechende Option zum Hinzufügen aus.

  • Klicken Sie mit der rechten Maustaste auf den Beispieltest (unseren Testplan) → Hinzufügen → Threads (Benutzer) → Thread-Gruppe. Daher wird die Thread-Gruppe unter dem Knoten Testplan (Beispieltest) hinzugefügt.

  • Benennen Sie die Thread-Gruppe als Benutzer . Für uns bedeutet dieses Element, dass Benutzer die TutorialsPoint-Startseite besuchen.

Sampler hinzufügen

Wir müssen einen Sampler in unsere Thread-Gruppe (Benutzer) aufnehmen. Wie bereits für das Hinzufügen einer Thread-Gruppe beschrieben, öffnen wir dieses Mal das Kontextmenü des Knotens "Thread-Gruppe (Benutzer)", indem Sie mit der rechten Maustaste klicken, und fügen den HTTP-Anforderungs-Sampler hinzu, indem Sie "Hinzufügen" → "Sampler → HTTP-Anforderungsoption" wählen.

Es wird ein leerer HTTP-Anforderungs-Sampler unter dem Knoten Thread-Gruppe (Benutzer) hinzugefügt. Lassen Sie uns dieses Knotenelement konfigurieren -

  • Name- Wir werden den Namen ändern, um die Aktion widerzuspiegeln, die wir erreichen möchten. Wir werden es so nennenVisit TutorialsPoint Home Page

  • Server Name or IP- Hier müssen wir den Webservernamen eingeben. In unserem Fall ist eswww.tutorialspoint.com. (http: // Teil ist nicht geschrieben, dies ist nur der Name des Servers oder seine IP)

  • Protocol - Wir werden dieses Feld leer lassen, was bedeutet, dass wir HTTP als Protokoll wollen.

  • Path- Wir geben den Pfad als / (Schrägstrich) ein. Das heißt, wir wollen die Stammseite des Servers.

Listener hinzufügen

Wir werden jetzt einen Listener hinzufügen. Fügen Sie unter dem Knoten Thread Group (User) den Listenbaum View Results Tree hinzu. Dadurch wird sichergestellt, dass die Ergebnisse des Samplers in diesem Listener-Knotenelement angezeigt werden können.

So fügen Sie einen Listener hinzu:

  • Öffnen Sie das Kontextmenü

  • Klicken Sie mit der rechten Maustaste auf die Thread-Gruppe (Benutzer).

  • Wählen Sie die Option Hinzufügen → Listener → Ergebnisbaum anzeigen

Führen Sie den Testplan aus

Lassen Sie uns nun mit allen Einstellungen den Testplan ausführen. Bei der Konfiguration der Thread-Gruppe (Benutzer) behalten wir alle Standardwerte bei. Dies bedeutet, dass JMeter den Sampler nur einmal ausführt. Es ähnelt einem einzelnen Benutzer nur einmal.

Dies ähnelt einem Benutzer, der eine Webseite über einen Browser mit JMeter-Sampler besucht. Um den Testplan auszuführen, wählen Sie im Menü die Option Ausführen und anschließend die Option Start.

Apache JMeter fordert uns auf, den Testplan in einer Festplattendatei zu speichern, bevor der Test tatsächlich gestartet wird. Dies ist wichtig, wenn Sie den Testplan mehrmals ausführen möchten. Sie können es auch ohne Speichern ausführen.

Zeigen Sie die Ausgabe an

Wir haben die Einstellung der Thread-Gruppe als Einzel-Thread (nur ein Benutzer) und Schleife für 1 Mal (nur einmalige Ausführung) beibehalten, daher erhalten wir das Ergebnis einer einzelnen Transaktion im View Result Tree Listener.

Details des obigen Ergebnisses sind -

  • Grüne Farbe gegen den Namen Visit TutorialsPoint Home Page zeigt Erfolg an.

  • JMeter hat alle vom Webserver gesendeten Header und Antworten gespeichert und ist bereit, uns das Ergebnis auf vielfältige Weise anzuzeigen.

  • Die erste Registerkarte ist Sampler Results. Es zeigt JMeter-Daten sowie vom Webserver zurückgegebene Daten.

  • Die zweite Registerkarte ist Anfrage, auf der alle Daten angezeigt werden, die als Teil der Anfrage an den Webserver gesendet wurden.

Die letzte Registerkarte enthält Antwortdaten. Auf dieser Registerkarte zeigt der Listener die vom Server empfangenen Daten im Textformat an.

Dies ist nur ein einfacher Testplan, der nur eine Anforderung ausführt. Die wahre Stärke von JMeter besteht jedoch darin, dieselbe Anfrage zu senden, als ob viele Benutzer sie senden würden. Um die Webserver mit mehreren Benutzern zu testen, müssen Sie die Einstellungen für die Thread-Gruppe (Benutzer) ändern.

In diesem Kapitel erfahren Sie, wie Sie einen einfachen Testplan zum Testen des Datenbankservers erstellen. Für unsere Testzwecke verwenden wir den MYSQL-Datenbankserver. Sie können jede andere Datenbank zum Testen verwenden. Informationen zur Installation und Tabellenerstellung in MYSQL finden Sie im MYSQL-Tutorial .

Führen Sie nach der Installation von MYSQL die folgenden Schritte aus, um die Datenbank einzurichten.

  • Erstellen Sie eine Datenbank mit dem Namen "Tutorial".

  • Erstellen Sie eine Tabelle tutorials_tbl .

  • Fügen Sie Datensätze wie unten gezeigt in tutorials_tbl ein -

mysql> use TUTORIALS;
Database changed
mysql> INSERT INTO tutorials_tbl 
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("Learn PHP", "John Poul", NOW());
  
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("Learn MySQL", "Abdul S", NOW());
 
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("JAVA Tutorial", "Sanjay", '2007-05-06');

Query OK, 1 row affected (0.01 sec)
mysql>
  • Kopieren Sie den entsprechenden JDBC-Treiber nach /home/manisha/apache-jmeter-2.9/lib.

Erstellen Sie einen JMeter-Testplan

Beginnen wir mit dem JMeter /home/manisha/apache-jmeter-2.9/bin/jmeter.sh.

Benutzer hinzufügen

Um eine Thread-Gruppe zu erstellen,

  • Klicken Sie mit der rechten Maustaste auf Testplan.

  • Wählen Sie Hinzufügen → Threads (Benutzer) → Thread-Gruppe.

  • Daher wird die Thread-Gruppe unter dem Testplan-Knoten hinzugefügt.

  • Benennen Sie diese Thread-Gruppe in JDBC-Benutzer um .

Wir werden die Standardeigenschaften der Thread-Gruppe nicht ändern.

JDBC-Anforderungen hinzufügen

Nachdem wir unsere Benutzer definiert haben, ist es Zeit, die Aufgaben zu definieren, die sie ausführen werden. Geben Sie in diesem Abschnitt die auszuführenden JDBC-Anforderungen an.

  • Klicken Sie mit der rechten Maustaste auf das Element JDBC-Benutzer.

  • Wählen Add → Config Element → JDBC Connection Configuration.

  • Richten Sie die folgenden Felder ein (wir verwenden die MySQL-Datenbank namens Tutorial) -

    • Variablenname an Pool gebunden. Dies muss die Konfiguration eindeutig identifizieren. Es wird vom JDBC-Sampler verwendet, um die zu verwendende Konfiguration zu identifizieren. Wir haben es als Test benannt .

    • Datenbank-URL - jdbc: mysql: // localhost: 3306 / tutorial.

    • JDBC-Treiberklasse: com.mysql.jdbc.Driver.

    • Benutzername: root.

    • Passwort: Passwort für root.

Die anderen Felder auf dem Bildschirm bleiben wie unten gezeigt als Standardeinstellungen erhalten -

Fügen Sie nun eine JDBC-Anforderung hinzu, die sich auf den oben definierten JDBC-Konfigurationspool bezieht. Wählen Sie das JDBC-Benutzerelement aus.

  • Klicken Sie mit der rechten Maustaste, um das Menü Hinzufügen aufzurufen

  • Wählen Add → Sampler → JDBC Request.

  • Wählen Sie dieses neue Element aus, um die Systemsteuerung anzuzeigen.

  • Bearbeiten Sie die Eigenschaften wie unten gezeigt -

    • Variablenname an Pool gebunden. Dies muss die Konfiguration eindeutig identifizieren. Es wird vom JDBC-Sampler verwendet, um die zu verwendende Konfiguration zu identifizieren. Nannte es als Test .

    • Name - Lernen.

    • Geben Sie den Poolnamen ein - Test (wie im Konfigurationselement).

    • Abfragetyp - Select-Anweisung.

    • Geben Sie das Feld SQL Query String ein.

Listener erstellen

Fügen Sie nun das Listener-Element hinzu. Dieses Element ist dafür verantwortlich, alle Ergebnisse Ihrer JDBC-Anforderungen in einer Datei zu speichern und ein visuelles Modell der Daten darzustellen.

  • Wählen Sie das Element JDBC-Benutzer aus

  • Hinzufügen eines View Results Tree-Listeners (Add → Listener → View Results Tree).

Testplan speichern und ausführen

Speichern Sie nun den obigen Testplan als db_test.jmx . Führen Sie diesen Testplan mit ausRun → Start Möglichkeit.

Überprüfen Sie die Ausgabe

Im letzten Bild sehen Sie, dass zwei Datensätze ausgewählt sind.

In diesem Kapitel erfahren Sie, wie Sie eine FTP-Site mit JMeter testen. Lassen Sie uns einen Testplan erstellen, um die FTP-Site zu testen.

Testplan umbenennen

  • Öffnen Sie das JMeter-Fenster, indem Sie auf /home/manisha/apache-jmeter-2.9/bin/jmeter.sh klicken

  • Klicken Sie auf den Knoten Testplan.

  • Benennen Sie diesen Testplanknoten in TestFTPSite um.

Thread-Gruppe hinzufügen

Fügen Sie eine Thread-Gruppe hinzu, die Platzhalter für alle anderen Elemente wie Sampler, Controller und Listener ist.

  • Klicken Sie mit der rechten Maustaste auf TestFTPSite (unser Testplan).

  • Wählen Sie Hinzufügen → Threads (Benutzer) → Thread-Gruppe. Die Thread-Gruppe wird unter dem Knoten Testplan (TestFTPSite) hinzugefügt.

  • Ändern Sie die Standardeigenschaften der Thread-Gruppe wie folgt für unsere Tests:

    • Name - FTP-Benutzer

    • Number of Threads (Users) - 4

    • Ramp-Up Period - Belassen Sie den Standardwert von 0 Sekunden.

    • Loop Count - 1

Sampler hinzufügen - FTP-Anfrage

Nachdem wir unsere Benutzer definiert haben, ist es Zeit, die Aufgaben zu definieren, die sie ausführen werden. Fügen Sie FTP-Anforderungselemente hinzu. Wir fügen zwei FTP-Anforderungselemente hinzu, eines, das eine Datei abruft, und das andere, das eine Datei auf der FTP-Site ablegt.

  • Wählen Sie das FTP-Benutzerelement aus.

  • Klicken Sie mit der rechten Maustaste, um das Menü Hinzufügen aufzurufen

  • Wählen Sie Hinzufügen → Sampler → FTP-Anfrage.

  • Wählen Sie das FTP-Anforderungselement in der Baumstruktur aus.

  • Bearbeiten Sie die folgenden Eigenschaften wie unten gezeigt -

Die folgenden Details werden in dieses Element eingegeben -

  • Name - FTP-Anfrage abrufen

  • Server Name or IP - 184.168.74.29

  • Remote File - /home/manisha/sample_ftp.txt

  • Local File - sample_ftp.txt

  • Wählen Sie get (RETR)

  • Username - Manisha

  • Password - manisha123

Fügen Sie nun wie oben eine weitere FTP-Anfrage hinzu und bearbeiten Sie die Eigenschaften wie im folgenden Screenshot gezeigt -

Die folgenden Details werden in dieses Element eingegeben -

  • Name - FTP Request Put

  • Server Name or IP - 184.168.74.29

  • Remote File - /home/manisha/examplefile.txt

  • Local File - /home/manisha/work/examplefile.txt

  • Wählen Sie put (STOR)

  • Username - Manisha

  • Password - manisha123

Listener hinzufügen

Das letzte Element, das Sie Ihrem Testplan hinzufügen müssen, ist ein Listener. Dieses Element ist dafür verantwortlich, alle Ergebnisse Ihrer FTP-Anforderungen in einer Datei zu speichern und ein visuelles Modell der Daten darzustellen.

  • Wählen Sie das FTP-Benutzerelement aus.

  • Fügen Sie einen Listener zum Anzeigen des Ergebnisbaums hinzu, indem Sie Hinzufügen> Listener> Ergebnisbaum anzeigen auswählen.

Führen Sie den Testplan aus

Speichern Sie nun den obigen Testplan als ftpsite_test.jmx . Führen Sie diesen Testplan mit ausRun → Start Möglichkeit.

Zeigen Sie die Ausgabe an

Die folgende Ausgabe ist im Listener zu sehen.

Sie können sehen, dass für jede FTP-Anforderung vier Anforderungen gestellt werden und der Test erfolgreich ist. Die abgerufene Datei für die GET-Anforderung wird im Ordner / bin gespeichert. In unserem Fall ist es/home/manisha/apache-jmeter-2.9/bin/. Bei einer PUT-Anforderung wird die Datei im Pfad hochgeladen/home/manisha/.

In diesem Kapitel erfahren Sie, wie Sie einen Testplan zum Testen eines WebService erstellen. Zu unserem Testzweck haben wir ein einfaches Webservice-Projekt erstellt und es lokal auf dem Tomcat-Server bereitgestellt.

Webservice-Projekt erstellen

Um ein Webservice-Projekt zu erstellen, haben wir die Eclipse-IDE verwendet. Schreiben Sie zuerst die Service-EndpunktschnittstelleHelloWorld unter dem Paket com.tutorialspoint.ws. Der Inhalt von HelloWorld.java lautet wie folgt:

package com.tutorialspoint.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

//Service Endpoint Interface
@WebService
@SOAPBinding(style = Style.RPC)

public interface HelloWorld {
   @WebMethod String getHelloWorldMessage(String string);
}

Dieser Dienst hat eine Methode getHelloWorldMessage das nimmt einen String-Parameter.

Erstellen Sie als Nächstes die Implementierungsklasse HelloWorldImpl.java unter dem Paket com.tutorialspoint.ws.

package com.tutorialspoint.ws;

import javax.jws.WebService;

@WebService(endpointInterface="com.tutorialspoint.ws.HelloWorld")
public class HelloWorldImpl  implements HelloWorld  {
   @Override
   public String getHelloWorldMessage(String myName) {
      return("Hello "+myName+" to JAX WS world");
   }
}

Lassen Sie uns diesen Webdienst jetzt lokal veröffentlichen, indem Sie den Endpoint-Herausgeber erstellen und den Dienst auf dem Server verfügbar machen.

Die Veröffentlichungsmethode akzeptiert zwei Parameter:

  • Endpunkt-URL-Zeichenfolge.

  • Implementierungsobjekt, in diesem Fall die HelloWorld-Implementierungsklasse, die als Webdienst an dem Endpunkt verfügbar gemacht wird, der durch die im obigen Parameter angegebene URL identifiziert wird.

Der Inhalt von HelloWorldPublisher.java lautet wie folgt:

package com.tutorialspoint.endpoint;

import javax.xml.ws.Endpoint;
import com.tutorialspoint.ws.HelloWorldImpl;

public class HelloWorldPublisher {
   public static void main(String[] args) {
      Endpoint.publish("http://localhost:9000/ws/hello", new HelloWorldImpl());
   }
}

Ändern Sie den Inhalt von web.xml wie unten gezeigt -

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, 
   Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>
   <listener>
      <listener-class>
         com.sun.xml.ws.transport.http.servlet.WSServletContextListener
      </listener-class>
   </listener>
	
   <servlet>
      <servlet-name>hello</servlet-name>
      <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>
	
   <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>/hello</url-pattern>
   </servlet-mapping>
	
   <session-config>
      <session-timeout>120</session-timeout>
   </session-config>
	
</web-app>

Um diese Anwendung als Webservice bereitzustellen, benötigen wir eine andere Konfigurationsdatei sun-jaxws.xml. Der Inhalt dieser Datei lautet wie folgt:

<?xml version = "1.0" encoding = "UTF-8"?>
<endpoints
   xmlns = "http://java.sun.com/xml/ns/jax-ws/ri/runtime"
   version = "2.0">
   
   <endpoint name = "HelloWorld" 
      implementation = "com.tutorialspoint.ws.HelloWorldImpl" 
      url-pattern = "/hello"/>
</endpoints>

Nachdem alle Dateien fertig sind, sieht die Verzeichnisstruktur wie im folgenden Screenshot dargestellt aus:

  • Erstellen Sie nun eine WAR-Datei dieser Anwendung.

  • Wählen Sie das Projekt → Rechtsklick → Exportieren → WAR-Datei.

  • Speichern Sie dies als hello.war Datei unter der webapps Ordner des Tomcat-Servers.

  • Starten Sie nun den Tomcat-Server.

  • Sobald der Server gestartet ist, sollten Sie über die URL http: // localhost: 8080 / hello / hello auf den Webservice zugreifen können

Erstellen Sie einen JMeter-Testplan

Lassen Sie uns nun einen Testplan erstellen, um den oben genannten Webservice zu testen.

Benennen Sie den Testplan um

  • Öffnen Sie das JMeter-Fenster, indem Sie auf /home/manisha/apache-jmeter2.9/bin/jmeter.sh klicken.

  • Klicken Sie auf den Knoten Testplan.

  • Benennen Sie diesen Testplanknoten in WebserviceTest um.

Thread-Gruppe hinzufügen

Fügen Sie eine Thread-Gruppe hinzu, die Platzhalter für alle anderen Elemente wie Sampler, Controller und Listener ist.

  • Klicken Sie mit der rechten Maustaste auf WebserviceTest (unser Testplan) → Hinzufügen → Threads (Benutzer) → Thread-Gruppe. Die Thread-Gruppe wird unter dem Knoten Testplan (WebserviceTest) hinzugefügt.

  • Als Nächstes ändern wir die Standardeigenschaften der Thread-Gruppe entsprechend unseren Tests. Folgende Eigenschaften werden geändert -

    • Name - Webservice-Benutzer

    • Number of Threads (Users) - 2

    • Ramp-Up Period - Belassen Sie den Standardwert von 0 Sekunden.

    • Loop Count - 2

Sampler hinzufügen - SOAP / XML-RPC-Anforderung

Nachdem wir die Benutzer definiert haben, ist es Zeit, die Aufgaben zu definieren, die sie ausführen werden.

Wir werden das SOAP / XML-RPC-Anforderungselement hinzufügen -

  • Klicken Sie mit der rechten Maustaste, um das Menü Hinzufügen aufzurufen.

  • Wählen Sie Hinzufügen → Sampler → SOAP / XML-RPC-Anforderung.

  • Wählen Sie das SOAP / XML-RPC-Anforderungselement in der Baumstruktur aus

  • Bearbeiten Sie die folgenden Eigenschaften wie im Bild unten -

  • Die folgenden Details werden in dieses Element eingegeben -

    • Name − SOAP/XML-RPC Request

    • URL - http: // localhost: 8080 / hallo / hallo? Wsdl

    • Soap/XML-RPC Data - Geben Sie den folgenden Inhalt ein

<soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:web = "http://ws.tutorialspoint.com/">
   <soapenv:Header/>
	
   <soapenv:Body>
      <web:getHelloWorldMessage>
         <arg0>Manisha</arg0>
      </web:getHelloWorldMessage>
   </soapenv:Body>
   
</soapenv:Envelope>

Listener hinzufügen

Das letzte Element, das Sie Ihrem Testplan hinzufügen müssen, ist ein Listener. Dieses Element ist dafür verantwortlich, alle Ergebnisse Ihrer HTTP-Anforderungen in einer Datei zu speichern und ein visuelles Modell der Daten darzustellen.

  • Wählen Sie das Webservice-Benutzerelement aus.

  • Fügen Sie einen Listener zum Anzeigen des Ergebnisbaums hinzu, indem Sie Hinzufügen → Listener → Ergebnisbaum anzeigen auswählen.

Führen Sie den Testplan aus

Speichern Sie nun den obigen Testplan als test_webservice.jmx . Führen Sie diesen Testplan mit der Option Ausführen → Start aus.

Zeigen Sie die Ausgabe an

Die folgende Ausgabe ist im Listener zu sehen.

Im letzten Bild sehen Sie die Antwortnachricht "Hallo Manisha an JAX WS world".

In diesem Kapitel erfahren Sie, wie Sie einen einfachen Testplan zum Testen des Java Messaging Service (JMS) erstellen. JMS unterstützt zwei Arten von Nachrichten:

  • Point-to-Point messaging- Queue Messaging wird im Allgemeinen für Transaktionen verwendet, bei denen der Absender eine Antwort erwartet. Messaging-Systeme unterscheiden sich erheblich von normalen HTTP-Anforderungen. In HTTP sendet ein einzelner Benutzer eine Anfrage und erhält eine Antwort.

  • Topic messaging- Themennachrichten werden allgemein als Pub- / Subnachrichten bezeichnet. Topic Messaging wird im Allgemeinen in Fällen verwendet, in denen eine Nachricht von einem Produzenten veröffentlicht und von mehreren Abonnenten konsumiert wird.

Lassen Sie uns für jedes dieser Beispiele ein Testbeispiel sehen. Die Voraussetzungen zum Testen von JMS sind:

  • Im Beispiel verwenden wir Apache ActiveMQ. Es gibt verschiedene JMS-Server wie IBM WebSphere MQ (ehemals MQSeries), Tibco usw. Laden Sie sie von den Binärdateien der Apache ActiveMQ-Website herunter.

  • Entpacken Sie das Archiv, wechseln Sie in das dekomprimierte Verzeichnis und führen Sie den folgenden Befehl über die Befehlskonsole aus, um den ActiveMQ-Server zu starten:

.\bin\activemq  start

Sie können überprüfen, ob der ActiveMQ-Server gestartet wurde, indem Sie die Administrationsoberfläche unter der folgenden Adresse aufrufen http://localhost:8161/admin/. Wenn Sie zur Authentifizierung aufgefordert werden, geben Sie die Benutzer-ID und das Kennwort als Administrator ein . Der Bildschirm ist ähnlich wie unten gezeigt -

  • Kopieren Sie nun das activemq-all-xxxjar (XXX je nach Version) aus dem entpackten ActiveMQ-Verzeichnis in /home/manisha/apache-jmeter-2.9/lib.

Lassen Sie uns mit dem obigen Setup den Testplan für - erstellen.

  • JMS-Punkt-zu-Punkt-Testplan

  • JMS-Thementestplan

In diesem Kapitel wird erläutert, wie Sie mit JMeter einen Testplan zur Überwachung von Webservern erstellen. Die Verwendung von Monitortests ist wie folgt:

  • Monitore sind nützlich für Stresstests und Systemmanagement.

  • Bei Stresstests bietet der Monitor zusätzliche Informationen zur Serverleistung.

  • Monitore erleichtern das Erkennen der Beziehung zwischen Serverleistung und Antwortzeit auf der Clientseite.

  • Als Systemadministrationstool bietet der Monitor eine einfache Möglichkeit, mehrere Server von einer Konsole aus zu überwachen.

Für die Überwachung benötigen wir Tomcat 5 oder höher. Zu unserem Testzweck überwachen wir den Tomcat 7.0.42-Server. Sie können jeden Servlet-Container testen, der Java Management Extension (JMX) unterstützt. Lassen Sie uns einen Testfall schreiben, um den Tomcat-Server zu überwachen. Lassen Sie uns zuerst unseren Tomcat-Server einrichten.

Richten Sie den Tomcat-Server ein

Wir beginnen mit dem Öffnen des Tomcat-Servicestatus. Bearbeiten Sie dazu die Konfigurationsdatei für Benutzer.<TOMCAT_HOME>/conf/tomcat-users.xml. Diese Datei enthält einen Tomcat-Benutzerabschnitt (kommentiert) wie gezeigt -

<tomcat-users>

<!--
   <role rolename = "tomcat"/>
   <role rolename = "role1"/>
   <user username = "tomcat" password = "tomcat" roles = "tomcat"/>
   <user username = "both" password = "tomcat" roles = "tomcat,role1"/>
   <user username = "role1" password = "tomcat" roles = "role1"/>
-->

</tomcat-users>

Wir müssen diesen Abschnitt ändern, um die Administratorrollen, Manager, Manager-GUI hinzuzufügen und dem Benutzer "Administrator" zuzuweisen. Die überarbeitete Datei lautet wie folgt:

<tomcat-users>

   <role rolename = "manager-gui"/>
   <role rolename = "manager-script"/>
   <role rolename = "manager-jmx"/>
   <role rolename = "manager-status"/>
   <user username = "admin" password = "admin" roles = "manager-gui,manager-script,manager-jmx,manager-status"/>

</tomcat-users>

Starten Sie nun den Tomcat-Server <TOMCAT_HOME> /bin/startup.sh für Linux und <TOMCAT_HOME> /bin/startup.bat für Windows. Überprüfen Sie nach dem Start, ob die Tomcat-Überwachung funktioniert, indem Sie den folgenden Link in Ihren Browser eingeben:

http://localhost:8080/manager/status?XML=true

Im Browser wird ein Authentifizierungsfenster angezeigt. Geben Sie das Tomcat-Login und das zugehörige Passwort ein (in unserem Fall ist es admin). Anschließend zeigt der Browser den Ausführungsstatus von Tomcat wie folgt an:

Aus dem obigen Screenshot können wir einige Dinge ersehen -

  • Beachten Sie in der URL, dass XML = true (beachten Sie die Groß- und Kleinschreibung beachten) eine saubere Anzeige des für die JMeter-Funktion erforderlichen Überwachungs-Tomcat ermöglicht.

  • Beachten Sie auch, dass standardmäßig zwei Anschlüsse vorhanden sind. Der im Allgemeinen verwendete AJP-Connector ist mit dem Apache HTTPD-Frontmodul mod_jk und dem HTTP-Connector gekoppelt, der üblicherweise für den direkten Zugriff auf Tomcat über Port 8080 verwendet wird.

Schreiben Sie den JMeter-Testplan

Lassen Sie uns den Tomcat-Server überwachen, indem wir einen Testplan schreiben -

Testplan umbenennen

  • Öffnen Sie das JMeter-Fenster, indem Sie auf /home/manisha/apache-jmeter2.9/bin/jmeter.sh klicken.

  • Klicken Sie auf den Knoten Testplan.

  • Fügen Sie eine Thread-Gruppe hinzu, wie im nächsten Schritt erläutert.

Thread-Gruppe hinzufügen

  • Klicken Sie mit der rechten Maustaste auf Test Plan → Add → Threads(Users) → Thread Group. Die Thread-Gruppe wird unter dem Knoten Testplan hinzugefügt.

  • Ändern Sie die Anzahl der Schleifen auf für immer (oder auf eine große Anzahl), damit genügend Samples generiert werden.

HTTP Authorization Manager

  • Fügen Sie dem Thread-Gruppenelement HTTP Authorization Manager hinzu, indem Sie Hinzufügen → Konfigurationselement → HTTP Authorization Manager auswählen. Dieses Element verwaltet die vom Browser angeforderte Authentifizierung, um den Tomcat-Serverstatus anzuzeigen.

  • Wählen Sie den HTTP Authorization Manager aus.

  • Bearbeiten Sie die folgenden Details -

    • Username - admin (abhängig von der Konfiguration in der Datei tomcat-users.xml)

    • Password - admin (abhängig von der Konfiguration in der Datei tomcatusers.xml)

    • Die anderen Felder bleiben leer.

Sampler-HTTP-Anfrage hinzufügen

Nachdem wir unsere Benutzer definiert haben, ist es Zeit, die Aufgaben zu definieren, die sie ausführen werden. Wir fügen ein HTTP-Anforderungselement hinzu.

  • Klicken Sie mit der rechten Maustaste, um das Menü Hinzufügen aufzurufen.

  • Wählen Sie Hinzufügen → Sampler → HTTP-Anfrage.

  • Wählen Sie dann das HTTP-Anforderungselement in der Baumstruktur aus.

  • Bearbeiten Sie die folgenden Eigenschaften wie im Bild unten -

  • Die folgenden Details werden in dieses Element eingegeben -

    • Name - Serverstatus

    • Server Name or IP - localhost

    • Port - 8080

    • Path - / manager / status

    • Parameters- Fügen Sie einen Anforderungsparameter mit dem Namen "XML" in Großbuchstaben hinzu. Geben Sie den Wert "true" in Kleinbuchstaben ein.

    • Optional Tasks - Aktivieren Sie "Als Monitor verwenden" unten im Sampler.

Fügen Sie einen konstanten Timer hinzu

Um den Status des Servers regelmäßig anzufordern, fügen Sie einen konstanten Timer hinzu, der ein Zeitintervall zwischen den einzelnen Anforderungen zulässt. Fügen Sie dieser Thread-Gruppe einen Timer hinzu, indem Sie Hinzufügen → Timer → Konstanter Timer auswählen.

Geben Sie 5000 Millisekunden in das Feld Thread-Verzögerung ein . Im Allgemeinen kann die Verwendung von Intervallen von weniger als 5 Sekunden Ihren Server belasten. Finden Sie heraus, welches Intervall akzeptabel ist, bevor Sie den Monitor in Ihrer Produktionsumgebung bereitstellen.

Listener hinzufügen

Das letzte Element, das Sie Ihrem Testplan hinzufügen müssen, ist ein Listener. Wir fügen zwei Arten von Zuhörern hinzu. Eine, die Ergebnisse in einer Datei speichert, und eine, die die grafische Ansicht der Ergebnisse zeigt.

  • Wählen Sie das Threadgruppenelement aus.

  • Hinzufügen eines Simple Data Writer-Listeners Hinzufügen → Listener → Simple Data Writer.

  • Geben Sie ein Verzeichnis und einen Dateinamen der Ausgabedatei an (in unserem Fall ist es /home/manisha/work/sample.csv).

  • Fügen Sie einen weiteren Listener hinzu, indem Sie das Testplanelement Hinzufügen → Listener → Ergebnisse überwachen auswählen.

Führen Sie den Testplan aus

Speichern Sie nun den obigen Testplan als monitor_test.jmx . Führen Sie diesen Testplan mit der Option Ausführen → Start aus.

Zeigen Sie die Ausgabe an

Die Ergebnisse werden in der Datei /home/manisha/work/sample.csv gespeichert. Sie können auch ein grafisches Ergebnis im Monitor-Ergebnis-Listener sehen (siehe Abbildung unten).

Beachten Sie, dass das Diagramm auf beiden Seiten des Diagramms Beschriftungen enthält. Links ist Prozent und rechts ist tot / gesund. Wenn die Speicherleitung schnell auf und ab geht, kann dies auf eine Speicherüberlastung hinweisen. In solchen Situationen empfiehlt es sich, die Anwendung mit Borland OptimizeIt oder JProbe zu profilieren. Was Sie sehen möchten, ist ein reguläres Muster für Laden, Speicher und Threads. Jedes unberechenbare Verhalten weist normalerweise auf eine schlechte Leistung oder einen Fehler hin.

Listener bieten Zugriff auf die Informationen, die JMeter über die Testfälle sammelt, während JMeter ausgeführt wird. Die von den Zuhörern gesammelten Ergebnisse oder Informationen können in Form von - angezeigt werden

  • tree
  • tables
  • graphs
  • Logdatei

Alle Listener schreiben die gleichen Rohdaten in die Ausgabedatei, wenn eine angegeben wird.

Standardkonfiguration

Die zu speichernden Standardelemente können auf eine der folgenden zwei Arten definiert werden:

  • In dem jmeter.properties(oder user.properties) Datei. Diese Datei befindet sich in der/bin Ordner von JMeter. Um das Standardformat zu ändern, suchen Sie die folgende Zeile in jmeter.properties -

jmeter.save.saveservice.output_format=
  • Verwenden Sie das Konfigurations-Popup wie im folgenden Screenshot gezeigt -

JMeter erstellt Ergebnisse eines Testlaufs als JMeter Text Logs (JTL). Diese werden normalerweise als JTL-Dateien bezeichnet, da dies die Standarderweiterung ist. Es kann jedoch jede Erweiterung verwendet werden.

Wenn mehrere Tests mit demselben Ausgabedateinamen ausgeführt werden, hängt JMeter automatisch neue Daten am Ende der Datei an.

Der Listener kann Ergebnisse in einer Datei, jedoch nicht in der Benutzeroberfläche aufzeichnen. Es soll ein effizientes Mittel zum Aufzeichnen von Daten bieten, indem der GUI-Overhead eliminiert wird.

Beim Einlaufen -

  • GUI mode - Verwenden Sie den Listener Simple Data Writer

  • non-GUI mode - Mit dem Flag -l kann eine Datendatei erstellt werden.

Hörer können viel Speicher verwenden, wenn es viele Samples gibt. Verwenden Sie das Simple Data Write mit CSV-Format, um den Speicherbedarf zu minimieren.

CSV-Protokollformat

Das CSV-Protokollformat hängt davon ab, welche Datenelemente in der Konfiguration ausgewählt sind. In der Datei werden nur die angegebenen Datenelemente aufgezeichnet. Die Reihenfolge des Auftretens von Spalten ist festgelegt und lautet wie folgt:

Feld Beschreibung Wertebeispiel
Zeitstempel in Millisekunden seit dem 1.1.1970 1354223881017
verstrichen in Millisekunden 1858
Etikette Sampler-Label HTTP-Anfrage
Antwortcode zB 200, 404 200
responseMessage zB OK in Ordnung
threadName Gewindegruppe 1-1
Datentyp zB Text Text
Erfolg richtig oder falsch wahr
failMessage wenn überhaupt
Bytes Anzahl der Bytes in der Stichprobe 34908
grpThreads Anzahl der aktiven Threads in dieser Thread-Gruppe 1
Alle Themen Gesamtzahl der aktiven Threads in allen Gruppen 1
URL http://tutorialspoint.com
Dateiname wenn Antwort in Datei speichern verwendet wurde
Latenz Zeit bis zur ersten Antwort 132
Codierung utf-8
SampleCount Anzahl der Proben (1, sofern nicht mehrere Proben aggregiert sind) 1
ErrorCount Anzahl der Fehler (0 oder 1, sofern nicht mehrere Stichproben zusammengefasst sind) 0
Hostname wo die Probe erzeugt wurde LaptopManisha
Wartezeit Anzahl der Millisekunden Leerlaufzeit (normalerweise 0)
Variablen falls angegeben

Antwortdaten speichern

Die Antwortdaten können bei Bedarf in der XML-Protokolldatei gespeichert werden. Es ist jedoch nicht möglich, große Dateien und Bilder zu speichern. Verwenden Sie in solchen Fällen den Postprozessor Save_Responses_to_a_file. Dadurch wird für jedes Beispiel eine neue Datei generiert und der Dateiname mit dem Beispiel gespeichert. Der Dateiname kann dann in die Beispielprotokollausgabe aufgenommen werden. Die Daten werden bei Bedarf aus der Datei abgerufen, wenn die Beispielprotokolldatei erneut geladen wird.

Laden (Lesen) von Antwortdaten

Um eine vorhandene Ergebnisdatei anzuzeigen, können Sie über die Schaltfläche "Durchsuchen ..." eine Datei auswählen. Erstellen Sie bei Bedarf einfach einen Dummy-Testplan mit dem entsprechenden Listener.

Speichern der Listener-GUI-Daten

JMeter kann jeden Listener als PNG-Datei speichern. Um dies zu tun,

  • Wählen Sie den Listener im linken Bereich aus, indem Sie Bearbeiten → Als Bild speichern auswählen. Ein Dateidialog wird angezeigt.

  • Geben Sie den gewünschten Namen ein.

  • Speichern Sie den Listener.

JMeter-Funktionen und Benutzervariablen

JMeter-Funktionen sind spezielle Werte, mit denen Felder eines Samplers oder eines anderen Elements in einem Testbaum ausgefüllt werden können.

  • Ein Funktionsaufruf sieht so aus -

${__functionName(var1,var2,var3)}
  • _functionName entspricht dem Namen einer Funktion. Zum Beispiel${__threadNum}.

  • Wenn ein Funktionsparameter ein Komma enthält, stellen Sie sicher, dass Sie dies mit "\" maskieren, wie unten gezeigt -

${__time(EEE\, d MMM yyyy)}
  • Variablen werden als - bezeichnet

${VARIABLE}

Liste der Funktionen

Die folgende Tabelle listet eine Gruppe von Funktionen auf, die lose in Typen gruppiert sind -

Funktionstyp Name Kommentar
Information threadNum Thread-Nummer abrufen.
Information samplerName Holen Sie sich den Namen des Samplers (Label).
Information machineIP Rufen Sie die IP-Adresse des lokalen Computers ab.
Information Maschinenname Rufen Sie den lokalen Computernamen ab.
Information Zeit Gibt die aktuelle Zeit in verschiedenen Formaten zurück.
Information Log Protokollieren (oder anzeigen) Sie eine Nachricht (und geben Sie den Wert zurück).
Information logn Protokollieren (oder Anzeigen) einer Nachricht (leerer Rückgabewert).
Eingang StringFromFile Lesen Sie eine Zeile aus einer Datei.
Eingang FileToString Lesen Sie eine ganze Datei.
Eingang CSVRead Aus CSV-getrennter Datei lesen.
Eingang XPath Verwenden Sie einen XPath-Ausdruck, um aus einer Datei zu lesen.
Berechnung Zähler Generieren Sie eine inkrementelle Nummer.
Berechnung intSum Fügen Sie int-Nummern hinzu.
Berechnung longSum Fügen Sie lange Zahlen hinzu.
Berechnung Zufällig Generieren Sie eine Zufallszahl.
Berechnung RandomString Generieren Sie eine zufällige Zeichenfolge.
Berechnung UUID Generieren Sie eine zufällige UUID vom Typ 4.
Skripting BeanShell Führen Sie ein BeanShell-Skript aus.
Skripting JavaScript Verarbeiten Sie JavaScript (Mozilla Rhino).
Skripting jexl, jexl2 Bewerten Sie einen Commons Jexl-Ausdruck.
Eigenschaften Eigentum Lesen Sie eine Eigenschaft.
Eigenschaften P. Lesen Sie eine Eigenschaft (Kurzmethode).
Eigenschaften setProperty Legen Sie eine JMeter-Eigenschaft fest.
Variablen Teilt Teilen Sie eine Zeichenfolge in Variablen auf.
Variablen V. Bewerten Sie einen Variablennamen.
Variablen eval Bewerten Sie einen variablen Ausdruck.
Variablen evalVar Bewerten Sie einen in einer Variablen gespeicherten Ausdruck.
String regexFunction Analysieren Sie die vorherige Antwort mit einem regulären Ausdruck.
String EscapeOroRegexpChars Zitieren Sie Metazeichen, die vom regulären ORO-Ausdruck verwendet werden.
String verkohlen Generieren Sie Unicode-Zeichenwerte aus einer Liste von Zahlen.
String entkommen Prozesszeichenfolgen, die Java-Escapezeichen enthalten (z. B. \ n & \ t).
String unescapeHtml HTML-codierte Zeichenfolgen dekodieren.
String EscapeHtml Codieren Sie Zeichenfolgen mithilfe der HTML-Codierung.
String TestPlanName Gibt den Namen des aktuellen Testplans zurück.
  • Es gibt zwei Arten von Funktionen -

    • Benutzerdefinierte statische Werte (oder Variablen)

    • Eingebaute Funktionen

  • Mit benutzerdefinierten statischen Werten kann der Benutzer Variablen definieren, die durch ihren statischen Wert ersetzt werden sollen, wenn ein Testbaum kompiliert und zur Ausführung übermittelt wird.

  • Die Variablen können nicht verschachtelt werden. dh${Var${N}} funktioniert nicht.

  • Hierzu kann die Funktion __V (Variable) (Versionen nach 2.2) verwendet werden - $ {__ V (Var $ {N})}.

  • Diese Art des Austauschs ist ohne Funktionen möglich, jedoch weniger bequem und weniger intuitiv.

Verwendung von Funktionen und Variablen

Funktionen und Variablen können in jedes Feld einer beliebigen Testkomponente geschrieben werden.

Die folgenden Funktionen sollten in einem Testplan gut funktionieren -

  • intSum
  • longSum
  • machineName
  • BeanShell
  • javaScript
  • jexl
  • random
  • time
  • Eigenschaftsfunktionen
  • Protokollfunktionen

Funktionen, die im Testplan verwendet werden, unterliegen einigen Einschränkungen. JMeter-Thread-Variablen wurden bei der Verarbeitung der Funktionen nicht vollständig eingerichtet, sodass Variablennamen, die als Parameter übergeben wurden, nicht eingerichtet werden und Variablenreferenzen nicht funktionieren. Daher funktionieren split () und regex () sowie die Variablenauswertungsfunktionen nicht. Die Funktion threadNum () funktioniert nicht und ist auf Testplanebene nicht sinnvoll.

Variablen und Funktionen referenzieren

  • Das Referenzieren einer Variablen in einem Testelement erfolgt durch Klammern des Variablennamens mit '$ {' und '}'.

  • Funktionen werden auf die gleiche Weise referenziert, aber üblicherweise beginnen die Namen von Funktionen mit "__", um Konflikte mit Benutzerwertnamen zu vermeiden.

  • Einige Funktionen verwenden Argumente, um sie zu konfigurieren, und diese stehen in Klammern, durch Kommas getrennt. Wenn die Funktion keine Argumente akzeptiert, können die Klammern weggelassen werden. Zum Beispiel -

${__BeanShell(vars.put("name"\,"value"))}
  • Alternativ können Sie Ihr Skript als Variable definieren, z. B. im Testplan -

SCRIPT     vars.put("name","value")
  • Das Skript kann dann wie folgt referenziert werden:

${__BeanShell(${SCRIPT})}

Der Funktionshilfedialog

Der Funktionshilfedialog ist bei JMeter erhältlich Options Tab.

  • Mit dem Funktionshelfer können Sie eine Funktion aus dem Pulldown auswählen und Werte für ihre Argumente zuweisen. Die linke Spalte in der Tabelle enthält eine kurze Beschreibung des Arguments. In der rechten Spalte schreiben Sie den Wert für dieses Argument. Unterschiedliche Funktionen haben unterschiedliche Argumente.

  • Sobald Sie dies getan haben, klicken Sie auf die Schaltfläche "Generieren", und die entsprechende Zeichenfolge wird generiert, die Sie kopieren und in den Testplan einfügen können, wo immer Sie möchten.

Vordefinierte Variablen

Einige Variablen werden intern von JMeter definiert. Sie sind -

  • COOKIE_cookiename - enthält den Cookie-Wert.

  • JMeterThread.last_sample_ok - ob das letzte Beispiel OK war oder nicht - wahr / falsch. Hinweis - Dies wird aktualisiert, nachdem PostProcessors und Assertions ausgeführt wurden.

  • START-Variablen.

Vordefinierte Eigenschaften

Einige integrierte Eigenschaften werden von JMeter definiert. Diese sind unten aufgeführt. Der Einfachheit halber werden die START-Eigenschaften auch in gleichnamige Variablen kopiert.

  • START.MS - JMeter-Startzeit in Millisekunden.

  • START.YMD - JMeter-Startzeit als JJJJMMTT.

  • START.HMS - JMeter Startzeit als HHmmss.

  • TESTSTART.MS - Teststartzeit in Millisekunden.

Beachten Sie, dass die START-Variablen / -Eigenschaften die JMeter-Startzeit und nicht die Teststartzeit darstellen. Sie sind hauptsächlich zur Verwendung in Dateinamen usw. vorgesehen.

Reguläre Ausdrücke werden verwendet, um Text basierend auf Mustern zu suchen und zu bearbeiten. JMeter interpretiert Formen regulärer Ausdrücke oder Muster, die in einem JMeter-Testplan verwendet werden, unter Einbeziehung der Mustervergleichssoftware Apache Jakarta ORO .

Durch die Verwendung regulärer Ausdrücke können wir sicherlich viel Zeit sparen und mehr Flexibilität erzielen, wenn wir einen Testplan erstellen oder verbessern. Reguläre Ausdrücke bieten eine einfache Methode, um Informationen von Seiten abzurufen, wenn es unmöglich oder sehr schwierig ist, ein Ergebnis vorherzusagen.

Ein Standardverwendungsbeispiel für die Verwendung von Ausdrücken besteht darin, eine Sitzungs-ID aus der Serverantwort abzurufen. Wenn der Server einen eindeutigen Sitzungsschlüssel zurückgibt, können wir ihn leicht mithilfe von Ausdrücken in unserem Ladeskript abrufen.

Um reguläre Ausdrücke in Ihrem Testplan zu verwenden, müssen Sie den Regular Expression Extractor von JMeter verwenden. Sie können reguläre Ausdrücke in jede Komponente eines Testplans einfügen.

Es lohnt sich, den Unterschied zwischen zu betonen contains und matches, wie für das Testelement Response Assertion verwendet -

  • containsbedeutet, dass der reguläre Ausdruck mindestens einem Teil des Ziels entspricht, sodass "Alphabet" "ph.b." enthält. weil der reguläre Ausdruck mit der Teilzeichenfolge 'phabe' übereinstimmt.

  • matchesbedeutet, dass der reguläre Ausdruck mit dem gesamten Ziel übereinstimmt. Daher wird das 'Alphabet' mit 'al. * T' "abgeglichen".

Angenommen, Sie möchten dem folgenden Teil einer Webseite entsprechen:

name = "file" value = "readme.txt"

Und Sie möchten readme.txt extrahieren. Ein geeigneter regulärer Ausdruck wäre -

name = "file" value = "(.+?)">

Die obigen Sonderzeichen sind -

  • ( und ) - Diese schließen den Teil der zurückzugebenden Übereinstimmungszeichenfolge ein

  • . - mit einem beliebigen Zeichen übereinstimmen

  • + - einmal oder mehrmals

  • ? - Stoppen Sie, wenn das erste Spiel erfolgreich ist

Erstellen Sie einen JMeter-Testplan

Lassen Sie uns die Verwendung von regulären Ausdrücken im Extraktor für reguläre Ausdrücke - einem Postprozessorelement - verstehen, indem Sie einen Testplan schreiben. Dieses Element extrahiert Text von der aktuellen Seite mithilfe eines regulären Ausdrucks, um das Textmuster zu identifizieren, dem ein gewünschtes Element entspricht.

Zuerst schreiben wir eine HTML-Seite, die eine Liste der Personen und ihrer E-Mail-IDs enthält. Wir stellen es auf unserem Tomcat-Server bereit. Der Inhalt von HTML (index.html) ist wie folgt:

<html>
   <head>
   </head>
	
   <body>
      <table style = "border: 1px solid #000000;">
		
         <th style = "border: 1px solid #000000;">ID</th>
         <th style = "border: 1px solid #000000;">name</th>
         <th style = "border: 1px solid #000000;">Email</th>
			
         <tr>
            <td id = "ID" style = "border: 1px solid #000000;">3</td>
            <td id = "Name" style = "border: 1px solid #000000;">Manisha</td>
            <td id = "Email" style = "border: 1px solid #000000;">[email protected]</td>
         </tr>
			
         <tr>
            <td id = "ID" style = "border: 1px solid #000000;">4</td>
            <td id = "Name" style = "border: 1px solid #000000;">joe</td>
            <td id = "Email" style = "border: 1px solid #000000;">[email protected]</td>
         </tr>
			
      </table>
   </body>
</html>

Bei der Bereitstellung auf dem Tomcat-Server sieht diese Seite wie im folgenden Screenshot dargestellt aus:

In unserem Testplan wählen wir die Person in der ersten Zeile der Personentabelle aus, die auf der Seite mit der Personenliste oben angezeigt wird. Um die ID dieser Person zu erfassen, bestimmen wir zunächst das Muster, in dem wir die Person in der zweiten Reihe finden.

Wie im folgenden Schnappschuss zu sehen ist, ist die ID der zweiten Person von <td id = "ID"> und </ td> umgeben, und es ist die zweite Datenzeile mit diesem Muster. Wir können dies verwenden, um genau das Muster zu finden, aus dem wir Informationen extrahieren möchten. Da wir auf dieser Seite zwei Informationen extrahieren möchten, die Personen-ID und den Personennamen, werden die Felder wie folgt definiert:

Starten Sie JMeter und fügen Sie eine Thread-Gruppe hinzu Test Plan → Add→ Threads(Users)→ Thread Group.

Fügen Sie als Nächstes eine Sampler-HTTP-Anforderung hinzu, wählen Sie den Testplan aus und klicken Sie mit der rechten Maustaste Add → Sampler → HTTP Request und geben Sie die Details wie unten gezeigt ein -

  • Name - Verwalten

  • Server Name or IP - localhost

  • Port Number - 8080

  • Protocol - Wir werden dieses Feld leer lassen, was bedeutet, dass wir HTTP als Protokoll wollen.

  • Path - jmeter / index.html

Fügen Sie als Nächstes einen Extraktor für reguläre Ausdrücke hinzu. Wählen Sie den HTTP Request Sampler (Verwalten) aus und klicken Sie mit der rechten MaustasteAdd → Post Processor → Regular Expression Extractor.

Die folgende Tabelle enthält eine Beschreibung der im obigen Screenshot verwendeten Felder -

Sr.Nr. Feld Beschreibung
1

Reference Name

Der Name der Variablen, in der der extrahierte Test gespeichert wird (Referenzname).

2

Regular Expression

Das Muster, mit dem der zu extrahierende Text abgeglichen wird, wird abgeglichen. Die zu extrahierenden Textgruppen werden von den Zeichen '(' und ')' eingeschlossen. Wir verwenden '. +?' um eine einzelne Instanz des von den Tags <td ..> .. </ td> eingeschlossenen Textes anzugeben. In unserem Beispiel lautet der Ausdruck - <td id = "ID"> (+?) </ Td> \ s * <td id = "Name"> (+?) </ Td> \ s *

3

Template

Jede Gruppe von extrahiertem Text, die als Mitglied der Variablen Person platziert wird, folgt der Reihenfolge jeder Gruppe von Mustern, die durch '(' und ')' eingeschlossen sind. Jede Gruppe wird als refname_g # gespeichert, wobei refname die Zeichenfolge ist, die Sie als Referenzname eingegeben haben, und # die Gruppennummer ist. $ 1 $ bezieht sich auf Gruppe 1, $ 2 $ bezieht sich auf Gruppe 2 usw. $ 0 $ bezieht sich auf alles, was mit dem gesamten Ausdruck übereinstimmt. In diesem Beispiel wird die von uns extrahierte ID in Person_g1 beibehalten, während der Wert Name in Person_g2 gespeichert wird.

4

Match No.

Da wir nur das zweite Vorkommen dieses Musters extrahieren möchten, das mit dem zweiten Freiwilligen übereinstimmt, verwenden wir den Wert 2. Der Wert 0 würde eine zufällige Übereinstimmung ergeben, während mit dem ForEach-Controller ein negativer Wert verwendet werden muss.

5

Default

Wenn das Element nicht gefunden wird, ist dies der Standardwert. Dies ist ein optionales Feld. Sie können es leer lassen.

Fügen Sie einen Listener hinzu, um das Ergebnis dieses Testplans zu erfassen. Klicken Sie mit der rechten Maustaste auf die Thread-Gruppe und wählen Sie die Option Hinzufügen → Listener → Ergebnisbaum anzeigen, um den Listener hinzuzufügen.

Speichern Sie den Testplan als reg_express_test.jmx und führen Sie den Test aus. Die Ausgabe wäre ein Erfolg, wie im folgenden Screenshot gezeigt -

JMeter weist einige Einschränkungen auf, insbesondere wenn es in einer verteilten Umgebung ausgeführt wird. Das Befolgen dieser Richtlinien hilft bei der Schaffung einer realen und kontinuierlichen Last -

  • Verwenden Sie mehrere Instanzen von JMeter, falls die Anzahl der Threads höher ist.

  • Überprüfen Sie die Scoping-Regeln und gestalten Sie sie entsprechend.

  • Verwenden Sie Namenskonventionen immer für alle Elemente.

  • Überprüfen Sie die Standardkonnektivitätseinstellungen des Browsers, bevor Sie Skripts ausführen.

  • Fügen Sie Listener entsprechend hinzu.

  • Hier einige Vorschläge zur Reduzierung des Ressourcenbedarfs:

    • Verwenden Sie den Nicht-GUI-Modus: jmeter -n -t test.jmx -l test.jtl.

    • Verwenden Sie so wenig Listener wie möglich. Wenn Sie das Flag -l wie oben verwenden, können alle gelöscht oder deaktiviert werden.

    • Deaktivieren Sie den Listener "View Result Tree", da er viel Speicher verbraucht und dazu führen kann, dass die Konsole einfriert oder JMeter nicht mehr über genügend Speicher verfügt. Es ist jedoch sicher, den Listener "Ergebnisbaum anzeigen" zu verwenden, bei dem nur "Fehler" aktiviert ist.

    • Verwenden Sie nicht viele ähnliche Sampler, sondern denselben Sampler in einer Schleife und verwenden Sie Variablen (CSV-Datensatz), um die Probe zu variieren. Oder verwenden Sie den Access Log Sampler.

    • Verwenden Sie nicht den Funktionsmodus.

    • Verwenden Sie CSV-Ausgabe anstelle von XML.

    • Speichern Sie nur die Daten, die Sie benötigen.

    • Verwenden Sie so wenig Zusicherungen wie möglich.

    • Deaktivieren Sie alle JMeter-Diagramme, da sie viel Speicher belegen. Sie können alle Echtzeitdiagramme über die Registerkarte JTLs in Ihrer Weboberfläche anzeigen.

    • Vergessen Sie nicht, den lokalen Pfad aus der CSV-Datensatzkonfiguration zu löschen, falls verwendet.

    • Reinigen Sie die Registerkarte "Dateien" vor jedem Testlauf.