Soapui

Seifenoper

Die SoapUI Pro ist für Mehrjahres- und Floating-Lizenzen erhältlich. Kaufen Sie online oder holen Sie sich Hilfe vom SoapUI-Team. SoapUI in seiner Multifunktionalität mit der Funktionsvielfalt eines Schweizer Offiziersmessers. Betreuung und Wartung einer Web-Anwendung zur Unterstützung und Automatisierung der Verarbeitung von unternehmensübergreifenden Handelsbestätigungen. Zur Verstärkung unseres Büros in Hyderabad suchen wir einen Senior Software Test Automation Engineer (SoapUI, Groovy).

Wie man SOAP-UI Advanced User wird!

Hier sind die Eigenschaften in einem SOAP-Projekt zu erkennen. Diese Struktur erlaubt es uns, eine oder mehrere Testsuiten in einer anderen Arbeitsumgebung mit einer Veränderung der Eigenschaft "environment" auszulösen. Wenn wir die Versuche auf unserer Testumgebung durchgeführt haben und heute das Einspielen in die Testumgebung erfolgt ist, müssen wir nur noch den Parameter "T" in "Q" verändern und alle Versuche werden in dieser Testumgebung durchgeführt.

Im Folgenden wird erläutert, welche Funktionen die Eigenschaften erfüllen und warum wir sie benötigen: Umfeld - Die Ausführungsumgebung wird hier definiert. Entscheidend ist nur, wie die auszuführende Arbeitsumgebung genannt wird, die wir auf einer anderen "Ebene" definiert haben. endpunktT oder endpunktQ - Hier geben wir die exakte Endpunktadresse unseres Dienstes für die jeweilige Arbeitsumgebung ein.

Für diese Eigenschaften ist es entscheidend, dass wir wissen, was unsere Umweltwerte sein sollten. Daher können wir in der Umgebung die beiden Größen "T" und "Q" eingeben. Mit ${#} können wir auf Eigenschaften in SOAP-UI zurückgreifen und die entsprechenden Daten einlesen.

Mit SOAP-UI wird ein Variablenname erstellt, mit dem in den Projekteigenschaften geforscht werden kann. ${#Project#endpoint wird zu "endpoint" und ${#Project#environment}} zu dem in "environment" eingegebenen Werte. Bei uns würde es "endpointT" werden. Die SOAP-UI "merkt" sich nun den Inhalt der Eigenschaft "endpointT" in der Eigenschaft "endpoint" zur Ausführung einer Ausführungsdefinition.

Damit ist es möglich, für eine SOAP-Anfrage am Endpunkt einzugeben: ${#Projekt#Endpunkt}. Bei der Ausführung des Requests liest das UI die Eigenschaften in PROJECT, in unserem Falle z.B. die Eigenschaft "Endpunkt".

Komplizierte Testszenarios mit SoapUI - Flavia.toString()

Um eine SOAP-Schnittstelle zu entwickeln, führt kaum ein Weg an der SoapUI von SmartBear vorbei. Durch den konsolengängigen Testrunner und den Datenexport als XUnit-Report kann SoapUI problemlos in CI-Umgebungen wie Jenkins integriert werden. Weil es hier nicht darum geht, wie SoapUI im Allgemeinen arbeitet, werde ich keine Beispiel oder Ähnliches für die Grundschritte nennen.

SoapUI ist in kürzester Zeit erlernbar. Die SoapUI erzeugt für jede Aktion einen eigenen Eingang und ermöglicht es Ihnen, eine Anfrage mehr oder weniger bequem zu erzeugen. Dies ist ausreichend für einen Schnelltest, ob die Oberfläche intakt ist. Für einen echten Testbetrieb muss eine Testsuite angelegt werden. Die Testsuite umfasst eine beliebige Anzahl von Testfällen und diese bestehen aus einer beliebigen Anzahl von Testschritten.

Im Normalfall erfolgt eine Abfrage der Oberfläche und der Bedingung, wann der Versuch als Erfolg gewertet wird (sog. Assertions). Dadurch ist es möglich, für jede Aktion Testfälle zu erstellen und im Testschritt durchzuspielen. Bei dieser und der nachfolgenden Anforderung treten die ersten Schwierigkeiten auf, wenn die Prüfungen vollständig von Hand erstellt werden:

Im Rahmen dieses Kundenprojektes haben wir mittlerweile weit über 100 Versuche für die Soap-Schnittstelle. Es kann bei einer großen Zahl von Versuchen sehr ärgerlich sein, immer wieder die selben Angaben zu machen. Glücklicherweise hat SoapUI die Möglichkeit, die oben genannten Aufgaben zu lösen: Benutzerdefinierte Eigenschaften und Eigentumsübertragung. Wenn Sie eine Folge, einen Fall oder einen Schritt im Navigationsbereich auswählen, gibt es am unteren linken Rand eine eher unscheinbare Registerkarte "Benutzerdefinierte Eigenschaften".

Hier können beliebige Schlüssel-Werte-Paare erzeugt werden. Durch ${} greifen Sie auf die benutzerdefinierten Eigenschaften innerhalb einer Abfrage zu. Doch wie kommt der Schlüsselwert aus der Lösung in die benutzerdefinierte Eigenschaft? Abgesehen von den üblichen Testschritten gibt es noch einige weitere, wie z.B. die Übertragung von Eigenschaften. Nach dem ersten Schritt (Testanforderung) würden wir unserem Fall einen zweiten Schritt zuweisen.

Eine Eigentumsübertragung kann aus mehreren Übertragungen zusammengesetzt sein. Bei uns ist die Herkunft der letzte Schritt'GetAuthKey' oder dessen'Response', d.h. die Response im XML-Format. Zielsetzung der Übertragung ist die Immobilie customerAuthKey der Anlage. Voila - der Messwert steht nun für alle weiteren Prüfungen zur Auswahl. Mit dem Testschritttyp "TestCase ausführen" ermöglicht SoapUI, Testfälle in anderen Fällen zu referieren und mit Werten zu versehen.

So können diese Fälle analog zu Funktionalitäten in der Programmiersprache nachgebildet werden. In unseren Versuchen haben wir beispielsweise einen Testfall festgelegt, der über die Oberfläche nach Vorschlägen für gebuchte Vehikel fragt und die UID des ersten Vehikels als Eigenschaft des Laufschritts zurückgibt. Klicken Sie dazu auf das Werkzeugsymbol im Schritt TestCase ausführen (rot eingekreist).

Wählen Sie im zweiten Dialogfenster die Option Folge und Fall. Das Laufereignis selbst hat dieselben benutzerdefinierten Eigenschaften wie das Target, so dass es mit einer Übertragung auszufüllen ist. Dann können die benutzerdefinierten Eigenschaften des Ziels entweder nur als Return Property (hier die vehicleId) beschrieben oder nach dem Aufrufen erneut vorgelesen werden.

Die" Function-Cases" sollten abgeschaltet werden, da sonst SoapUI sie wie alle anderen Fälle abarbeitet.

Mehr zum Thema