Wie man eine Testsuite und einen Testfall erstellt in SoapUI

โšก Intelligente Zusammenfassung

Erstellen einer SoapUI Projekt, Testsuite und Testfall ermรถglichen strukturiertes Testen von SOAP-Webdiensten. Diese Anleitung erlรคutert die Grundlagen des SOAP-Protokolls, den WSDL-Import, die Ausfรผhrung von Anfragen, die Einrichtung von Assertions und die Analyse von Antwortprotokollen fรผr zuverlรคssige Funktions- und Regressionstests.

  • ๐Ÿง  SOAP Foundation: SOAP ist ein XML-basiertes, plattformunabhรคngiges Protokoll, das รผber HTTP รผbertragen wird und den Austausch von Nachrichten zwischen unterschiedlichen Systemen ermรถglicht.
  • ๐Ÿ“ Projekterstellung: Importieren Sie die WSDL in eine neue SoapUI SOAP-Projekt zur automatischen Generierung von Beispielanfragen fรผr jede Operation.
  • ๐Ÿ—‚๏ธ Testsuite-Setup: Klicken Sie mit der rechten Maustaste auf das Projektverzeichnis, um eine Testsuite hinzuzufรผgen, die zusammengehรถrige Testfรคlle fรผr eine organisierte Ausfรผhrung gruppiert.
  • ๐Ÿงช Testfallschritte: Fรผgen Sie SOAP-Anforderungsschritte hinzu, wรคhlen Sie die Zieloperation aus und konfigurieren Sie Standardzusicherungen wie Schema-Konformitรคts- und SOAP-Fehlerprรผfungen.
  • ๐Ÿ“Š รœberprรผfung der Reaktion: Verwenden Sie die Registerkarte โ€žRAWโ€œ und den Bereich โ€žProtokollโ€œ (SoapUI Protokolle, HTTP-Protokolle, Fehlerprotokolle, Speicherprotokolle) zur รœberprรผfung von HTTP-Statuscodes und zur Fehlerbehebung bei Anfragen.

Wie man eine Testsuite und einen Testfall erstellt SoapUI

Das SOAP-Protokoll verstehen

Vor dem Erstellen einer SoapUI Anhand des Testfalls ist es hilfreich, die Grundlagen des SOAP-Protokolls aufzufrischen. Ein klares Verstรคndnis davon, wie SOAP-Anfragen und -Antworten zwischen Systemen ausgetauscht werden, erleichtert die Anwendung. SoapUI um sie effektiv testen zu kรถnnen.

SOAP steht fรผr Simple Object Access ProtocolNachfolgend sind die Kerneigenschaften des SOAP-Protokolls aufgefรผhrt:

  • Es handelt sich um ein XML-basiertes Protokoll, das zur Kommunikation zwischen zwei verschiedenen Systemen verwendet wird.
  • Es ist plattform- und sprachunabhรคngig. Ein System, das entwickelt wurde mit Java kann mit einem in .NET entwickelten System kommunizieren.
  • SOAP-Anfragen und -Antworten werden รผber HTTP รผbertragen.

Lernen Sie das SOAP-Nachrichtenformat kennen

Eine SOAP-Nachricht ist ein gewรถhnliches XML-Dokument, das die folgenden Elemente enthรคlt. Eine Nachricht kann entweder eine Anfrage oder eine Antwort sein.

SOAP-Nachrichtenformat
SOAP-Nachrichtenformat

Nachdem die SOAP-Grundlagen geschaffen sind, besteht der nรคchste Schritt darin, die SoapUI Projektstruktur, Testsuiten und Testfรคlle, die zur Validierung eines bestimmten Webdienstes erforderlich sind. Die folgende Anleitung verwendet eine SoapUI Projektbeispiel zur Erstellung eines neuen SOAP-Projekts.

Erstellen eines SOAP-Projekts in SoapUI

Das SOAP-Projekt enthรคlt die importierte WSDL-Definition sowie alle generierten Beispielanfragen fรผr jede Operation.

Schritt 1: Je nach Projekttyp importieren Sie das SOAP- oder REST-Protokoll. In diesem Beispiel erstellen wir ein neues SOAP-Projekt.

Erstellen eines neuen SOAP-Projekts

Schritt 2: Verwenden Sie die folgende SOAP-Anfrage URL: 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.

Geben Sie den SOAP-Projektnamen und den WSDL-Pfad ein.

Hinweis:

  • Erstellen Sie eine Beispielanfrage fรผr alle Operationen: Erzeugt eine Beispielanfrage fรผr jede Operation in der WSDL. StandardmรครŸig aktiviert, wenn die WSDL-Adresse eingegeben wird; kann deaktiviert werden, falls nicht erforderlich.
  • Erstellen Sie eine Testsuite fรผr die importierte WSDL-Datei: Fรผgt ein SoapUI Testsuite innerhalb des Projekts fรผr die importierte WSDL.
  • Relative Pfade: Speichert alle Dateien relativ zur Projektdatei, um eine einfache Portabilitรคt zu gewรคhrleisten.

Schritt 3: Nach der Erstellung des SOAP-Projekts mit der oben genannten WSDL werden zwei Operationen in das Projekt importiert.

Importiertes SOAP-Projekt Operations

Schritt 4: Erweitern Sie die erste Anfrage, klicken Sie mit der rechten Maustaste. Speichern, dann klick Neue Anfrage.

Neue Anfrage zum SOAP-Projekt hinzufรผgen

Dann klick OKDie SOAP-Anfrage wird im XML-Format angezeigt.

SOAP-Anfrage-XML-Format

  1. Geben Sie Werte fรผr ein intA und intB.
  2. Klicken Sie auf die Absenden .
  3. Die Antwort-XML wird im rechten Bereich angezeigt.

SOAP-Anfrage senden und Antwort anzeigen

Warum Testfรคlle erstellen anstatt direkte Anfragen?

Es ist zwar mรถglich, eine Anfrage fรผr eine einzelne Operation direkt zu senden, doch stรถรŸt dieser Ansatz schnell an seine Grenzen, wenn mehrere Eingabekombinationen getestet werden mรผssen. Beispielsweise erfordert der Wechsel von 5+5 zu 4+4 jedes Mal eine Anpassung der Anfrage. Eine Testsuite mit Testfรคllen ermรถglicht es, jedes Szenario wiederverwendbar zu halten, ohne die ursprรผngliche Operation zu verรคndern.

Wie man eine Testsuite erstellt SoapUI

Eine Testsuite ist ein Container, der zusammengehรถrige Testfรคlle gruppiert. Fรผhren Sie die folgenden Schritte aus, um eine zu erstellen.

Schritt 1) โ€‹โ€‹Klicken Sie mit der rechten Maustaste auf das Stammverzeichnis des Projekts.

Innerhalb des Projekts kรถnnen Sie eine Testsuite erstellen, indem Sie mit der rechten Maustaste auf das Projektverzeichnis klicken.

Erstellen Sie eine Testsuite in SoapUI - Rechtsklick auf Projekt

Schritt 2) Geben Sie die Details der Testsuite ein.

Geben Sie den Namen der Testsuite ein und klicken Sie auf OK.

Testsuite-Namen eingeben

Schritt 3) รœberprรผfen Sie die erstellte Testsuite.

Die neue Testsuite wird wie unten dargestellt im Navigationsbereich angezeigt.

รœberprรผfen Sie die erstellte Testsuite

Schritt 4) ร–ffnen Sie die Testsuite.

Das Fenster โ€žTestsuiteโ€œ รถffnet sich im rechten Bereich. Da noch keine Testfรคlle vorhanden sind, bleiben alle Aktionsoptionen deaktiviert.

Leeres Testsuite-Fenster รถffnen

Wie man einen Testfall erstellt SoapUI

Testfรคlle sind in einer Testsuite integriert und gruppieren die einzelnen Testschritte, die einen Webdienst ausfรผhren.

Schritt 1: Innerhalb einer Testsuite kรถnnen Sie mehrere Tests erstellen, indem Sie mit der rechten Maustaste auf die Testsuite klicken und die entsprechende Option auswรคhlen. Neuer Testfall.

Neuen Testfall erstellen in SoapUI

Schritt 2: Geben Sie den Namen des Testfall und klicken auf OK.

Testfallnamen eingeben

Schritt 3: Der erstellte Testfall hat anfรคnglich null Schritte, wie unten dargestellt.

Testfall ohne Schritte

Hinweis: Der Testfall wird fรผr jeden Testtyp mit null Testschritten hinzugefรผgt. Sobald Schritte hinzugefรผgt werden, aktualisieren sich die Zahlen in den Klammern automatisch.

Funktionstestschritte gehรถren dazu Testschritte, Leistungsschritte gehen ein Lade Testund Sicherheitsรผberprรผfungen finden unter Sicherheitstests.

Schritt 4: Durch Rechtsklicken kรถnnen Sie verschiedene Testschritttypen einfรผgen. Testschritte und die entsprechende Option auswรคhlen. Wรคhlen Sie fรผr einen REST-Webdienst die REST-Testanfrage anstelle einer SOAP-Anfrage.

Testschritttypen einfรผgen

Hinzufรผgen eines Testschritts in SoapUI

Fรผgen Sie innerhalb des Testfalls einen Testschritt hinzu, um die importierte SOAP-Anfrage zu validieren.

Schritt 1: Fรผgen Sie einen neuen Schritt vom Typ hinzu SOAP-Anforderung wie unten gezeigt.

SOAP-Anfrage-Testschritt hinzufรผgen

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

Testschrittnamen eingeben

Schritt 3: Es erscheint ein Dialogfeld zur Auswahl der auszufรผhrenden Operation. Alle verfรผgbaren Operationen werden zur Auswahl aufgelistet.

  • Hier werden zahlreiche Operationen aufgefรผhrt. Die Operationen sind bis auf die SOAP-Version identisch: CalculatorSoap verwendet SOAP Version 1.1, wรคhrend CalculatorSoap12 SOAP Version 1.2 verwendet.
  • Die Version spielt in diesem Szenario keine Rolle, daher kann jede beliebige ausgewรคhlt werden.

    SOAP auswรคhlen Operation zu invok

  • Nach Auswahl des Vorgangs klicken Sie auf OK.

    Schichtannahme OperaAuswahl

Schritt 4: Beim Hinzufรผgen eines Testfalls kรถnnen Standard-Assertions angewendet werden. Assertions, auch Prรผfpunkte oder Validierungspunkte genannt, werden im nรคchsten Tutorial behandelt.

Die folgenden Prรผfpunkte kรถnnen beim Erstellen eines Testfalls hinzugefรผgt werden. Das unten stehende Beispiel erstellt einen Testfall ohne aktivierte Validierungspunkte.

Standard SoapUI Behauptungen

  1. รœberprรผft, ob die Antwortnachricht nach dem Testlauf vom Typ SOAP ist.
  2. Prรผft, ob das Antwortschema gรผltig ist.
  3. Prรผft, ob die SOAP-Antwort ein FAULT-Element enthรคlt.

Schritt 5: Beim Erstellen des Testfalls wird das Anforderungs-XML wie unten dargestellt angezeigt. Die Struktur des XML wird im Screenshot erlรคutert.

XML-Struktur der Anfrage

Schritt 6: Die Anzahl der Testschritte wurde auf eins erhรถht, da ein Schritt hinzugefรผgt wurde. Das Hinzufรผgen von Last- und Sicherheitstestschritten erhรถht deren jeweilige Zรคhler automatisch.

Testschrittzรคhler erhรถhen

Manuelles Senden einer Anfrage und Lesen der Antwort in SoapUI

Schritt 1: Im folgenden Beispiel werden zwei ganze Zahlen addiert.

  • intA โ€” 5
  • intB โ€” 5

Nรคchster:

  1. Ersetzen Sie die Fragezeichen in der Anfrage-XML durch diese Eingaben.
  2. Nach der Aktualisierung der entsprechenden XML-Tags klicken Sie auf Anfrage abschicken um die Antwort zu รผberprรผfen.

Manuelles Senden der Anfrage mit intA und intB

Schritt 2: Nach dem Absenden der Anfrage wird der Webdienst vom Webserver verarbeitet und die Antwort wird zurรผckgegeben, wie unten dargestellt.

Die Antwort bestรคtigt: 5 plus 5 gleich 10.

SOAP-Antwort mit Anzeige des Additionsergebnisses

Die SOAP-Antwort- und Protokollfelder verstehen

Wie bereits erwรคhnt, werden SOAP-Nachrichten รผber HTTP รผbertragen. Die Untersuchung der Rohdaten (RAW) hilft zu verstehen, wie die SOAP-Anfrage und -Antwort รผber HTTP รผbertragen werden.

Schritt 1: Klicken Sie auf die RAW Registerkarte in der SoapUI Anfragefenster.

  1. Die Anfrage wird an den Webserver gesendet, daher wird die HTTP-POST-Methode verwendet.
  2. Die SOAP-Anfrage wird im Nachrichtentext der HTTP-Nachricht รผbermittelt.

SOAP-Anfrage RAW-Tab

Schritt 2: Klicken Sie nun auf RAW Registerkarte in der SoapUI Antwortfenster, um zu verstehen, wie die Antwort รผber HTTP รผbermittelt wird.

  1. Nach der Bearbeitung der Anfrage wird der HTTP-Antwortcode (200) angezeigt, der den Erfolg signalisiert.
  2. Die SOAP-Antwort wird im Body der HTTP-Nachricht an den Client zurรผckgesendet.

SOAP-Antwort-RAW-Tab mit HTTP 200

Die folgende Tabelle fasst gรคngige HTTP-Antwortcodes zur schnellen Fehlersuche zusammen.

HTTP Code Beschreibung
1xx Information: Anfrage eingegangen, Bearbeitung lรคuft.
2xx Erfolg: Die Aktion wurde erfolgreich empfangen, verstanden und akzeptiert.
3xx Weiterleitung: Zur Bearbeitung des Antrags sind weitere Schritte erforderlich.
4xx Clientfehler: Die Anfrage enthรคlt einen Syntaxfehler oder kann nicht ausgefรผhrt werden.
5xx Serverfehler: Der Server konnte eine scheinbar gรผltige Anfrage nicht bearbeiten.

Schritt 3: Im Fenster โ€žTestfallโ€œ werden auรŸerdem zusรคtzliche Metadaten fรผr die Anfrage und die Antwort angezeigt.

Testfallfenster-Metadaten

  1. Zeigt an, dass in der gesendeten Anfrage kein Header enthalten ist.
  2. Zeigt an, dass der an den Webserver gesendeten Anfrage keine Anhรคnge beigefรผgt sind.
  3. Zeigt 10 Header-Elemente in der Antwort an, die durch Anklicken angezeigt werden kรถnnen.
  4. Zeigt an, dass der Antwortnachricht keine Anhรคnge beigefรผgt sind.

Protokollbereich

Der Protokollbereich zeigt alle zwischen Client und Server ausgetauschten Informationen an. Die am hรคufigsten verwendeten Protokollregisterkarten werden im Folgenden beschrieben.

SoapUI Registerkarten im Protokollbereich

SoapUI Melden Sie sich: Zeigt die Antwortinformationen des Webservers an. Dieselben Daten werden in der Datei soapui.log im Verzeichnis gespeichert. SoapUI bin-Verzeichnis.

SoapUI Protokoll-Registerkarte

HTTP-Protokoll: Zeigt alle HTTP-Paketรผbertragungen an. Alle in der Rohdatenansicht sichtbaren Informationen werden auch im HTTP-Protokoll erfasst.

HTTP-Protokoll-Tab

Fehlerprotokoll: Zeigt alle wรคhrend der gesamten Projektsitzung aufgetretenen Fehler an. Dieselben Informationen werden in der Datei soapui-errors.log im Verzeichnis gespeichert. SoapUI bin-Verzeichnis.

Speicherprotokoll: รœberwacht die Speichernutzung und stellt sie grafisch dar. Dies ist hilfreich bei speicherintensiven Operationen.

Registerkarte โ€žSpeicherprotokollโ€œ

Nachdem eine Testsuite, ein Testfall und ein Testschritt eingerichtet und eine erfolgreiche Antwort empfangen wurde, besteht der nรคchste Schritt in der Validierung der Antwort. Assertionstypen werden im nรคchsten Tutorial behandelt.

Hรคufig gestellte Fragen

Eine Testsuite ist ein Container, der zusammengehรถrige Testfรคlle gruppiert. SoapUI Projekt. Ein Testfall ist ein einzelnes Szenario, das einen oder mehrere Testschritte wie z. B. SOAP-Anfragen, REST-Anfragen oder Assertions enthรคlt.

Ja. SoapUI Unterstรผtzt sowohl SOAP- als auch REST-Tests. Wรคhlen Sie beim Erstellen eines neuen Projekts โ€žNeues SOAP-Projektโ€œ fรผr WSDL-basierte Dienste oder โ€žNeues REST-Projektโ€œ fรผr REST-APIs. Zu den Testschritten gehรถren REST-Testanfragen und JDBC-Anfragen. Groovy Skript.

ร–ffnen Sie die Testsuite und klicken Sie auf die grรผne Wiedergabetaste. SoapUI Fรผhrt alle Testfรคlle in der Reihenfolge ihres Erscheinens aus. Sie kรถnnen die parallele oder sequentielle Ausfรผhrung auch unter dem Reiter โ€žEigenschaften der Testsuiteโ€œ konfigurieren.

Ja. Verwenden Sie den Eigenschaften-Schritt, den Eigenschaftenรผbertragungs-Schritt oder einen Datenquellen-Schritt (SoapUI Pro) um mehrere Eingaben durch denselben Testfall zu steuern. Dies ist nรผtzlich fรผr datengetriebene Tests mit vielen Eingabekombinationen.

KI-Assistenten kรถnnen WSDL- oder OpenAPI-Spezifikationen lesen und realistische Eingabekombinationen, Grenzfรคlle und Assertionsmuster vorschlagen. Diese Vorschlรคge kรถnnen exportiert werden als SoapUI XML oder Groovy Skripte, die den manuellen Aufwand beim Erstellen groรŸer Test-Suites reduzieren.

Ja. KI-Tools kรถnnen das analysieren. SoapUI Log- und HTTP-Logeintrรคge gruppieren wiederkehrende Fehler und heben wahrscheinliche Ursachen wie Schemaabweichungen oder Authentifizierungsfehler hervor. Dies beschleunigt die Fehleranalyse wรคhrend Regressionstests und umfangreicher nรคchtlicher Lรคufe.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: