9. Erstellen eines WebService-Testplans ¶
In diesem Abschnitt erfahren Sie, wie Sie einen Testplan erstellen , um einen WebService zu testen. Sie erstellen fünf Benutzer, die Anfragen an One page senden. Außerdem weisen Sie die Benutzer an, ihre Tests zweimal auszuführen. Die Gesamtzahl der Anfragen ist also (5 Benutzer) x (1 Anfrage) x (2 Mal wiederholen) = 10 HTTP-Anfragen. Um den Testplan zu erstellen, verwenden Sie die folgenden Elemente: Thread Group , HTTP Request und Aggregate Graph .
Wenn der Sampler einen Fehler vom Webdienst zu erhalten scheint, überprüfen Sie die SOAP-Nachricht noch einmal und stellen Sie sicher, dass das Format korrekt ist. Stellen Sie insbesondere sicher, dass die xmlns- Attribute genau mit denen der WSDL übereinstimmen. Wenn der XML-Namespace unterschiedlich ist, gibt der Webdienst wahrscheinlich einen Fehler zurück.
9.1 WebService-Testplan erstellen ¶
In unserem Testplan verwenden wir einen .NET-Webdienst. Wir werden nicht auf die Details des Schreibens eines Webservice eingehen. Wenn Sie nicht wissen, wie man einen Webservice schreibt, googeln Sie nach Webservice und machen Sie sich mit dem Schreiben von Webservices für Java und .NET vertraut. Es sollte beachtet werden, dass es einen signifikanten Unterschied zwischen der Implementierung von Webdiensten durch .NET und Java gibt. Das Thema ist zu weit gefasst, um es in der Bedienungsanleitung zu behandeln. Bitte beziehen Sie sich auf andere Quellen, um eine bessere Vorstellung von den Unterschieden zu bekommen.
Beginnen Sie mit dem Menü Building a SOAP Webservice Test Plan “ aus. Klicken Sie dann auf die Schaltfläche " Erstellen ".
Folgendes ändern: und wählen Sie die Vorlage „- Ändern Sie in " HTTP Request Defaults " den " Server Name of IP " .
- Ändern Sie in " Soap Request " den " Path: "
Wählen Sie als Nächstes „ HTTP Header Manager “ und aktualisieren Sie den Header „ SOAPAction “, damit er zu Ihrem Webservice passt. Einige Webdienste verwenden SOAPAction möglicherweise nicht. Entfernen Sie es in diesem Fall.
Derzeit verwendet nur .NET SOAPAction, daher ist es normal, eine leere SOAPAction für alle anderen Webservices zu haben. Die Liste umfasst JWSDP, Weblogic, Axis, The Mind Electric Glue und gSoap.
Der letzte Schritt besteht darin, die SOAP-Nachricht in den Textbereich „ Body Data “ einzufügen.
9.2 Benutzer hinzufügen ¶
Die Thread-Gruppe teilt JMeter mit, wie viele Benutzer Sie simulieren möchten, wie oft die Benutzer Anfragen senden sollen und wie viele Anfragen sie senden sollen.
Wählen Sie das Element Thread Group in der Baumstruktur aus, falls Sie es noch nicht ausgewählt haben. Sie sollten jetzt das Thread Group Control Panel im rechten Bereich des JMeter-Fensters sehen (siehe Abbildung 9.2 unten).
Geben Sie zunächst einen aussagekräftigeren Namen für unsere Thread-Gruppe an. Geben Sie im Namensfeld JMeter-Benutzer ein.
Erhöhen Sie als Nächstes die Anzahl der Benutzer (Threads genannt) auf 10.
Belassen Sie im nächsten Feld Ramp-Up Period den Standardwert von 0 Sekunden. Diese Eigenschaft teilt JMeter mit, wie lange zwischen dem Starten jedes Benutzers gewartet werden soll. Wenn Sie beispielsweise eine Ramp-Up-Periode von 5 Sekunden eingeben, beendet JMeter den Start aller Ihrer Benutzer am Ende der 5 Sekunden. Wenn wir also 5 Benutzer und eine Ramp-Up-Periode von 5 Sekunden haben, beträgt die Verzögerung zwischen dem Start von Benutzern 1 Sekunde (5 Benutzer / 5 Sekunden = 1 Benutzer pro Sekunde). Wenn Sie den Wert auf 0 setzen, startet JMeter sofort alle Ihre Benutzer.
Deaktivieren Sie abschließend das Kontrollkästchen „ Forever “ und geben Sie im Feld „Loop Count “ den Wert 2 ein. Diese Eigenschaft teilt JMeter mit, wie oft der Test wiederholt werden soll. Wenn Sie einen Schleifenzählerwert von 0 eingeben , führt JMeter Ihren Test nur einmal aus. Damit JMeter Ihren Testplan wiederholt ausführt, aktivieren Sie das Kontrollkästchen Forever .
Siehe Abbildung 9.2 für die vollständige JMeter-Benutzer-Thread-Gruppe.
9.3 Hinzufügen eines Listeners zum Anzeigen und Speichern der Testergebnisse ¶
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 Element JMeter Users und fügen Sie einen Aggregate Graph Listener hinzu ( ). Als nächstes müssen Sie ein Verzeichnis und einen Dateinamen der Ausgabedatei angeben. Sie können ihn entweder in das Dateinamenfeld eingeben oder die Schaltfläche Durchsuchen auswählen und zu einem Verzeichnis navigieren und dann einen Dateinamen eingeben.
9.4 Rest-Webservice ¶
Das Testen eines REST-Webservices ist sehr ähnlich, da Sie nur die HTTP-Anforderung ändern müssen
- Methode : Wählen Sie die Methode aus, die Sie testen möchten
- Body Data : Dies kann JSON, XML oder ein beliebiger benutzerdefinierter Text sein