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

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: