So erstellen Sie eine Testsuite und einen Testfall in SoapUI

Das SOAP-Protokoll verstehen

Bevor wir einen SOAPUI-Testfall erstellen, machen wir uns mit den Grundlagen des SOAP-Protokolls vertraut. Dies wird Ihnen helfen, die SOAP-Benutzeroberfläche zum effektiven Testen von SOAP-Anfragen und -Antworten zu verwenden.

SOAP steht für Simple Object Access Protocol. Nachfolgend sind die Eigenschaften eines SOAP-Protokolls aufgeführt.

  • Es handelt sich um ein XML-basiertes Protokoll zur Kommunikation zwischen zwei verschiedenen Systemen.
  • Es ist plattform- und sprachunabhängig. Daher wurde ein System mit entwickelt Java kann mit einem in.NET entwickelten System kommunizieren.
  • SOAP-Anfragen/Antworten werden über HTTP transportiert.

Lernen Sie das SOAP-Nachrichtenformat

Eine SOAP-Nachricht ist ein normales XML-Dokument, das die folgenden Elemente enthält. Die Nachricht kann entweder eine Anforderungsnachricht oder eine Antwortnachricht sein.

SOAP-Nachrichtenformat
SOAP-Nachrichtenformat

Nachdem wir den Arbeitsbereich eingerichtet haben, den wir im letzten Tutorial durchgeführt haben, müssen wir eine SoapUI-Projektstruktur, Testsuiten und Testfälle erstellen, um einen bestimmten Webdienst zu testen. Lassen Sie uns ein SoapUI-Projektbeispiel verstehen, um ein neues SOAP-Projekt zu erstellen.

Erstellen eines SOAP-Projekts

Schritt 1) Jetzt müssen wir je nach Projekt das SOAP/REST-Protokoll importieren. Wir werden ein neues SOAP-Projekt erstellen.

Erstellen eines neuen SOAP-Projekts

Schritt 2) Wir werden folgende SOAP-Anfrage verwenden http://www.dneonline.com/calculator.asmx?wsdl

  1. Geben Sie den Projektnamen ein
  2. Geben Sie den Pfad der WSDL-Anfrage ein. In diesem Fall http://www.dneonline.com/calculator.asmx?wsdl
  3. klicken Sie auf OK

Erstellen eines SOAP-Projekts

Hinweis:

  • Musteranfrage für alle Vorgänge erstellen? Es erstellt eine Beispielanforderung für alle verfügbaren Vorgänge im angegebenen WSDL. Sobald Sie die WSDL-Adresse eingeben, wird diese Option automatisch aktiviert. Sie können sie deaktivieren.
  • Erstellen Sie eine Testsuite für die importierte WSDL: Erstellt eine SoapUI-Testsuite innerhalb des Projekts für die importierte WSDL.
  • Relative Pfade: Es ermöglicht dem Benutzer, alle Dateien relativ zur Projektdatei zu speichern.

Schritt 3) Beim Erstellen des SOAP-Projekts mit dem oben genannten WSDL können wir sehen, dass zwei Vorgänge in das Projekt importiert werden.

Erstellen eines SOAP-Projekts

Schritt 4) Erweitern Sie die erste Anfrage und klicken Sie mit der rechten Maustaste auf „Hinzufügen“. Klicken Sie dann auf „Neue Anfrage“.

Erstellen eines SOAP-Projekts

Klicken Sie dann auf „OK“. Die SOAP-Anfrage wird im XML-Format angezeigt

Erstellen eines SOAP-Projekts

  1. Geben Sie „intA“ und „intB“ ein.
  2. Klicken Sie auf die Schaltfläche Senden
  3. Die Antwort-XML wird im rechten Bereich angezeigt.

Erstellen eines SOAP-Projekts

Sie fragen sich vielleicht, warum Testfälle erstellt werden? Wenn Sie Webservice hier direkt testen können…

Nun, Sie können eine Anfrage für eine Operation senden. Was ist mit anderen? Wie viele Eingabekombinationen für Additionen können Sie mit dieser Operation durchführen? Sie müssen die Anfrage für jede einzelne Kombination bearbeiten.

Beispiel: Wenn Sie 4 und 4 statt 5 und 5 addieren möchten, müssen Sie die Operation erneut bearbeiten. Sie müssen also eine Testsuite/Testfälle erstellen, um alle möglichen Szenarien testen zu können, ohne die Operation selbst direkt bearbeiten zu müssen.

So erstellen Sie eine Testsuite in SoapUI

Im Folgenden finden Sie die Schritte zum Erstellen einer Testsuite in SoapUI:

Schritt 1) ​​Klicken Sie mit der rechten Maustaste auf das Stammverzeichnis des Projekts

Innerhalb des Projekts können Tester eine Testsuite erstellen, indem sie mit der rechten Maustaste auf das Stammverzeichnis des Projekts klicken.

Erstellen Sie eine Testsuite in SoapUI

Schritt 2) Geben Sie die Testsuite-Details ein

Wir müssen den Namen der Testsuite eingeben und auf OK klicken.

Erstellen Sie eine Testsuite in SoapUI

Schritt 3) Überprüfen Sie die erstellte Testsuite

Die erstellte Testsuite wird im Navigationsbereich wie unten dargestellt angezeigt.

Erstellen Sie eine Testsuite in SoapUI

Schritt 4) Öffnen Sie die Testsuite

Das Testsuite-Fenster wird im rechten Bereich geöffnet. Da wir gerade erstellt haben, gibt es KEINE SoapUI-Testfälle. Daher sind alle Optionen deaktiviert.

Erstellen Sie eine Testsuite in SoapUI

So erstellen Sie einen Testfall in SoapUI

Hier ist ein schrittweiser Prozess zum Erstellen eines Testfalls in SoapUI:

Schritt 1) Innerhalb einer Testsuite können wir mehrere Tests erstellen, indem wir mit der rechten Maustaste auf die „Testsuite“ klicken und „Neuer Testfall“ auswählen.

Erstellen Sie einen Testfall in SoapUI

Schritt 2) Geben Sie den Namen des Testfall und klicken Sie auf „OK“.

Erstellen Sie einen Testfall in SoapUI

Schritt 3) Der erstellte Testfall hat null Schritte, wie unten gezeigt.

Erstellen Sie einen Testfall in SoapUI

Hinweis: Wir können sehen, dass der Testfall mit null Testschritten für alle verfügbaren Testarten hinzugefügt wird. Beim Hinzufügen der Testschritte ändern sich die Zahlen in der Klammer automatisch.

Der Funktionstestschritt sollte in „Testschritte“ eingeordnet werden, während ein Leistungstestschritt in „Auslastungstest“ und ein Sicherheitstestschritt in „Sicherheitstests“ eingeordnet werden sollte.

Schritt 4) Wir können eine Vielzahl von Testschritten einfügen, indem wir mit der rechten Maustaste auf Testschritte klicken und einen geeigneten Testschritt auswählen, wie unten gezeigt. Wenn Sie also einen REST-Webservice testen würden, würden Sie die REST-Testanforderung auswählen.

Erstellen Sie einen Testfall in SoapUI

Hinzufügen eines Testschritts in SoapUI

Fügen wir nun einen Testschritt hinzu, um die importierte SOAP-Testanfrage zu validieren:

Schritt 1) Fügen Sie einen neuen Schritt „SOAP-Anfrage“ hinzu, wie unten gezeigt.

Hinzufügen eines Testschritts in SoapUI

Schritt 2) Geben Sie den Schrittnamen ein und klicken Sie auf OK.

Hinzufügen eines Testschritts in SoapUI

Schritt 3) Wenn Sie auf „OK“ klicken, wird ein Dialogfeld angezeigt, in dem Sie die aufzurufende Operation auswählen können. Alle Operationen werden aufgelistet und der Benutzer kann die Operation auswählen, die er aufrufen möchte.

  • Es werden viele Operationen aufgelistet. Die OperaDie Funktionen sind mit Ausnahme der verwendeten SOAP-Version identisch. CalculatorSoap – verwendet SOAP-Version 1.1, während CalculatorSoap12 – SOAP-Version 1.2 verwendet
  • Die Version spielt für uns in diesem Zusammenhang keine Rolle. Daher können Sie diejenige Ihrer Wahl auswählen.

    Hinzufügen eines Testschritts in SoapUI

  • Klicken Sie nach Auswahl der Operation auf „OK“.

    Hinzufügen eines Testschritts in SoapUI

Schritt 4) Beim Hinzufügen eines Testfalls können wir Standardaussagen hinzufügen. Behauptungen werden auch als Prüfpunkte/Validierungspunkte bezeichnet und werden im nächsten Tutorial ausführlich behandelt.

Wir können beim Erstellen des Testfalls folgende Prüfpunkte/Behauptungen hinzufügen. Lassen Sie uns einen Testfall mit der Option erstellen, was bedeutet, dass ein Testschritt OHNE einen der folgenden Validierungspunkte erstellt wird

Hinzufügen eines Testschritts in SoapUI

  1. Überprüft beim Ausführen des Tests, ob die Antwortnachricht SOAP ist.
  2. Überprüft, ob das Antwortschema gültig ist.
  3. Überprüft, ob die SOAP-Antwort FAULT enthält.

Schritt 5) Beim Erstellen des Testfalls wird unten die Anforderungs-XML angezeigt. Die Struktur des XML wird im folgenden Schnappschuss erläutert.

Hinzufügen eines Testschritts in SoapUI

Schritt 6) Die Anzahl der Testschritte wird nun auf eins erhöht, da wir gerade einen Testschritt hinzugefügt haben. Ebenso würde beim Hinzufügen eines Last- und Sicherheitstestschritts die entsprechende Zahl automatisch basierend auf der Anzahl der hinzugefügten Schritte erhöht.

Hinzufügen eines Testschritts in SoapUI

Anfrage manuell senden und Antwort in SoapUI lesen

Schritt 1) Wir möchten zwei Ganzzahlen hinzufügen.

  • intA – 5
  • intB – 5

Nächstes

  1. Wir müssen diese Eingaben anstelle des Fragezeichens eingeben, das als Anfrage-XML gesendet wird.
  2. Nachdem Sie diese Werte in die entsprechenden XML-Tags eingegeben haben, klicken Sie auf die Schaltfläche „Anfrage senden“, um die Antwort zu überprüfen.

Anfrage manuell senden und Antwort lesen

Schritt 2) Beim Absenden einer Anfrage wird die Webservice-Anfrage vom Webserver verarbeitet und sendet eine Antwort zurück, wie unten gezeigt.

Aus der Antwort können wir schließen, dass 5 plus 5 10 ist.

Anfrage manuell senden und Antwort lesen

Die Soap-Reaktions- und Protokollpanels verstehen

Wie zu Beginn dieses SoapUI-Test-Tutorials erläutert, werden die SOAP-Nachrichten über das HTTP-Protokoll transportiert. Werfen wir einen Blick auf die RAW-Nachrichten. Dadurch erfahren wir, wie die SOAP-Anfrage und -Antwort über HTTP transportiert wurden.

Schritt 1) Klicken Sie in beiden SOAP-UI-Anfragefenstern auf die Registerkarte „RAW“.

  1. Die Anfrage wird an den Webserver gesendet. Daher wird die POST-Methode von HTTP verwendet.
  2. Die SOAP-Anfrage wird im Textkörper der HTTP-Nachricht transportiert.

Soap-Reaktions- und Protokollpanels

Schritt 2) Jetzt Klicken Sie auf die Registerkarte „RAW“. im SOAP-UI-Antwortfenster, um zu verstehen, wie die Antwort über HTTP gesendet wird.

  1. Nach der Bearbeitung der Anfrage wird der HTTP-Antwortcode (200) angezeigt, was bedeutet, dass die Anfrage erfolgreich war. Der Webserver hat es erfolgreich verarbeitet.
  2. Die SOAP-Antwort wird als Teil des Hauptteils der HTTP-Nachricht an den Client zurückgesendet.

Soap-Reaktions- und Protokollpanels

Ein kurzer Schnappschuss der HTTP-Antwortcodes zum einfachen Verständnis und Debuggen. Die folgende Tabelle hilft Ihnen bei der Fehlerbehebung basierend auf dem vom Webserver empfangenen HTTP-Code.

HTTP-Code Beschreibung
1xx: Information – Dies bedeutet, dass eine Anfrage eingegangen ist und der Prozess fortgesetzt wird.
2xx: Erfolg - Die Aktion wurde erfolgreich angenommen, verstanden und akzeptiert.
3xx: Weiterleitung – Dies bedeutet, dass weitere Maßnahmen ergriffen werden müssen, um die Anfrage abzuschließen.
4xx: Clientfehler – Dies bedeutet, dass die Anfrage eine fehlerhafte Syntax enthält oder nicht erfüllt werden kann
5xx: Serverfehler - Der Server konnte eine scheinbar gültige Anfrage nicht erfüllen

Schritt 3) Lassen Sie uns die anderen Informationen verstehen, die im Testfallfenster angezeigt werden.

Soap-Reaktions- und Protokollpanels

  1. Stellt KEINEN Header in der gesendeten Anfrage dar
  2. Stellt KEINE Anhänge in der Anforderung dar, die an den Webserver gesendet wird.
  3. Stellt 10 Kopfzeileninformationen dar und diese werden beim Anklicken angezeigt.
  4. Stellt dar, dass keine Anhänge der Antwortnachricht vorhanden sind.

PROTOKOLLBEREICH:

Der Protokollbereich enthält vollständige Informationen zur Transaktion zwischen dem Client und dem Server. Benutzer können die unten gezeigten Registerkarten des Protokollbereichs sehen. Wir besprechen die am häufigsten verwendeten Protokollbereiche bei der Arbeit mit SOAP-UI.

PROTOKOLLBEREICH

SoapUI-Protokoll – Zeigt die Antwortinformationen vom Webserver an. Die gleichen Informationen werden in der Datei „soapui.log“ des SOAP-UI-Installationsordners im Verzeichnis „bin“ gespeichert.

SoapUI-Protokoll

HTTP-Protokoll – Zeigt die gesamte HTTP-Paketübertragung an. Alle Informationen in „RAW“ werden im HTTP-Protokoll angezeigt.

HTTP-Protokoll

Fehlerprotokoll - Das Fehlerprotokoll zeigt alle Fehler an, die während der gesamten Projektsitzung aufgetreten sind. Die gleichen Informationen sind in „soapui-errors.log“ verfügbar, das sich im Verzeichnis „bin“ des SOAP UI-Installationsorts befindet.

Speicherprotokoll – Diese Registerkarte überwacht den Speicherverbrauch und zeigt ihn in Form des unten gezeigten Diagramms an. Dies ist sehr hilfreich, wenn ein speicherintensiver Vorgang ausgeführt wird.

Speicherprotokoll

Nachdem wir nun eine Testsuite, einen Testfall und einen Testschritt erstellt und eine Antwort erhalten haben, besteht der nächste Schritt darin, die Antwort zu validieren. Im nächsten Tutorial werden wir uns mit Arten von Behauptungen befassen.