Automatisches Testen von Soap- und REST-Services mit SoapUI, Maven und Jenkins

Testautomation leicht gemacht

Johannes Fiala


Dieser Artikel bietet einen Überblick über die Verwendung von SoapUI für Servicetests sowie für die Integration in einen Build-Server. Folgende Themen werden behandelt:

Erstellen von Tests mit SoapUIErgänzen von Assertions (einfach, XPath)Integration mit MavenIntegration von mehreren SoapUI-Projekten mit Maven/AntTestautomation mit Build-ServernDurchführen von LasttestsNutzung von Project Properties für abweichende Endpoints

SoapUI ermöglicht den Test von Web Services über deren WSDL. Dabei wird die WSDL analysiert, und basierend auf dieser kann der Benutzer die XML-Requests für den Test des Web Service erstellen. Ab Version 4.6. werden auch REST-Services über deren WADL (Web Application Description Language) unterstützt. Zusätzlich unterstützt SoapUI auch Lasttests sowie das Mock­ing von Web Services und Security-Testing [1].

Einsatz von SoapUI vs. Aufruf über programmierte Unit Tests

Der größte Vorteil des Einsatzes von SoapUI für das Testen von Web Services ist, dass dafür keine Programmierkenntnisse notwendig sind. Der Tester kann über die SoapUI-Oberfläche komfortabel Tests erstellen. Im Falle einer Änderung/Erweiterung der WSDL können die Testfälle über SoapUI überarbeitet und ergänzt werden.

Erstellen eines REST-Projekts mit SoapUI

Für das Erstellen von Tests (Abb. 1) benötigen Sie zuerst die WSDL bzw. WADL des Service. Ein öffentlich zugänglicher REST-Service ist zum Beispiel das Google Maps Geocoding API [2].

Abb. 1: Erstellen eines neuen REST-Projekts

Geben Sie folgende WADL ein:

http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false

Anhand der WADL erkennt SoapUI die Request-Parameter und bietet sie zur Eingabe an (Abb. 2).

Abb. 2: Anzeige/Eingabe der Request-Parameter

Mit dem grünen Pfeil (Submit Request to specified endpoint URL) schicken Sie den Request ab und bekommen rechts die Antwort (im XML-Format) angezeigt (Abb. 3)

Abb. 3: Anzeige der Response im XML-Format

Eine Schritt-für-Schritt-Anleitung für das Testen von REST-Services finden Sie auf der SoapUI-Homepage [3].

Erstellen von Tests

Über das Kontextmenü Generate Testsuite des Service können Sie Testcases automatisch generieren. Dabei wird der oben erstellte XML-Request automatisch in den Testcase übernommen. Dort können Sie dann die Testdaten für den Testfall eingeben. Mit dem grünen Pfeil können Sie den Testfall durchführen, Sie bekommen dann immer rechts das Ergebnis angezeigt.

Definition von Assertions

Assertions sichern das gewün...

Automatisches Testen von Soap- und REST-Services mit SoapUI, Maven und Jenkins

Testautomation leicht gemacht

Johannes Fiala


Dieser Artikel bietet einen Überblick über die Verwendung von SoapUI für Servicetests sowie für die Integration in einen Build-Server. Folgende Themen werden behandelt:

Erstellen von Tests mit SoapUIErgänzen von Assertions (einfach, XPath)Integration mit MavenIntegration von mehreren SoapUI-Projekten mit Maven/AntTestautomation mit Build-ServernDurchführen von LasttestsNutzung von Project Properties für abweichende Endpoints

SoapUI ermöglicht den Test von Web Services über deren WSDL. Dabei wird die WSDL analysiert, und basierend auf dieser kann der Benutzer die XML-Requests für den Test des Web Service erstellen. Ab Version 4.6. werden auch REST-Services über deren WADL (Web Application Description Language) unterstützt. Zusätzlich unterstützt SoapUI auch Lasttests sowie das Mock­ing von Web Services und Security-Testing [1].

Einsatz von SoapUI vs. Aufruf über programmierte Unit Tests

Der größte Vorteil des Einsatzes von SoapUI für das Testen von Web Services ist, dass dafür keine Programmierkenntnisse notwendig sind. Der Tester kann über die SoapUI-Oberfläche komfortabel Tests erstellen. Im Falle einer Änderung/Erweiterung der WSDL können die Testfälle über SoapUI überarbeitet und ergänzt werden.

Erstellen eines REST-Projekts mit SoapUI

Für das Erstellen von Tests (Abb. 1) benötigen Sie zuerst die WSDL bzw. WADL des Service. Ein öffentlich zugänglicher REST-Service ist zum Beispiel das Google Maps Geocoding API [2].

Abb. 1: Erstellen eines neuen REST-Projekts

Geben Sie folgende WADL ein:

http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false

Anhand der WADL erkennt SoapUI die Request-Parameter und bietet sie zur Eingabe an (Abb. 2).

Abb. 2: Anzeige/Eingabe der Request-Parameter

Mit dem grünen Pfeil (Submit Request to specified endpoint URL) schicken Sie den Request ab und bekommen rechts die Antwort (im XML-Format) angezeigt (Abb. 3)

Abb. 3: Anzeige der Response im XML-Format

Eine Schritt-für-Schritt-Anleitung für das Testen von REST-Services finden Sie auf der SoapUI-Homepage [3].

Erstellen von Tests

Über das Kontextmenü Generate Testsuite des Service können Sie Testcases automatisch generieren. Dabei wird der oben erstellte XML-Request automatisch in den Testcase übernommen. Dort können Sie dann die Testdaten für den Testfall eingeben. Mit dem grünen Pfeil können Sie den Testfall durchführen, Sie bekommen dann immer rechts das Ergebnis angezeigt.

Definition von Assertions

Assertions sichern das gewün...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang