how create mock service
In diesem Tutorial werden wir uns mit Scheindiensten befassen. Du wirst es lernen:
Die angegebene Gateway-IP ist ungültig
- Was ist ein Mock-Service und warum ist er erforderlich?
- Wie erstelle ich einen Mock-Service in SOAPUI?
- Was ist eine Scheinoperation und eine dynamische Scheinantwort?
- Verstehen von Scheinoperationen und Versandmethoden anhand eines Beispiels.
- Scripting für Mock Response.
Was du lernen wirst:
- Mock Service:
- Scheinoperation und dynamische Scheinantworten:
- Grundlegendes zu Versandmethoden:
- Scripting für Mock Response:
- Fazit:
- Literatur-Empfehlungen
Mock Service:
Verspottung ein Webdienst hilft dabei, eine Antwort auf die Anfrage eines Webdienstes zu simulieren. Es ist ein sehr effektives Tool zum Offline-Testen von Webdiensten beim Erstellen und Bewerten.
Empfohlene Lektüre => 15+ Beste SoapUI-Tutorials
Im Folgenden werden die Schritte in SOAPUI beschrieben, um ein Projekt mithilfe der Webdienst-WSDL zu erstellen und eine zu erstellen Mock-Service davon.
Der Einfachheit halber habe ich in diesem Tutorial eine Beispiel-WSDL verwendet:
# 1) Erstellen Sie ein Seifenprojekt mit der folgenden WSDL:
http://www.webservicex.com/globalweather.asmx
(Hinweis:Klicken Sie auf ein Bild, um es zu vergrößern.)
#zwei) Wählen Sie die Option 'MockService generieren', indem Sie mit der rechten Maustaste auf den Projektnamen klicken.
#3) Im MockService Im Dialogfeld stehen Optionen zum Ändern der Portnummer und des Hostnamens zur Verfügung.
# 4) Die Standardantwort wird im Mock Service erstellt.
# 5) Starten Sie den Mock-Service.
# 6) Öffnen Sie den WSDL-Dienst in einem Browser.
Der Algorithmus Java von Dijkstra verwendet die Prioritätswarteschlange
# 7) Die WSDL des Mock-Service sieht im Browser wie folgt aus:
# 8) Kopieren Sie die URL des WSDL-Dienstes und verwenden Sie sie als neuen Endpunkt, um eine Anforderung an den Mock-Dienst zu senden.
# 9) Senden Sie eine Anfrage an den neu hinzugefügten Endpunkt, um eine Antwort vom Mock Service zu erhalten.
Scheinoperation und dynamische Scheinantworten:
Sobald die Anforderung von einem Scheindienst empfangen wurde, überträgt er sie an die Scheinoperation. Die Scheinoperation wählt dann die richtige Antwort aus der Liste der Antworten aus und sendet sie an den Webdienst zurück.
1) Wir können eine weitere Scheinantwort hinzufügen und eine festlegen dynamische Reaktion basierend auf der Anfrage / Abfrage oder senden Sie eine Antwort entweder nacheinander oder zufällig.
zwei) Um eine neue Scheinantwort hinzuzufügen, klicken Sie mit der rechten Maustaste auf die Scheinoperation und wählen Sie Neue Scheinantwort.
3) Jetzt können Sie in New Mock Response2 bei Bedarf eine Seifenfehlerantwort erstellen.
4) Durch Doppelklicken auf den Scheinvorgang wird das Konfigurationsfenster geöffnet, in dem dynamische Antworten festgelegt werden können
Grundlegendes zu Versandmethoden:
Im Konfigurationsfenster können Sie durch Auswahl der Versandmethode eine dynamische Antwort festlegen
Sehen wir uns verschiedene Versandmethoden an:
SKRIPT: Mithilfe eines Skripts können wir eine dynamische Antwort basierend auf dem Inhalt einer Anforderung festlegen.
Siehe folgendes Beispiel:
In der Skriptmethode Verwenden Sie ein Groovy-Skript um den Anforderungsinhalt zu lesen und den Wert eines bestimmten Knotens zu extrahieren. Siehe das folgende Skriptbeispiel, in dem sich die Ergebnisantwort abhängig vom Wert der Eingabeanforderung ändert.
import javax.xml.xpath.* import groovy.xml.StreamingMarkupBuilder import groovy.lang.Binding; import groovy.lang.Script; def util = new com.eviware.soapui.support.GroovyUtils( context ) def xml = new XmlSlurper().parseText(mockRequest.requestContent) def country = xml.Body.GetCitiesByCountry.CountryName def str = country.toString() log.info str def len = str.size() log.info len if(len > 1 ) { context.ResultResponse = 'Response1' log.info 'r1' } else if(len <= 1) { context.ResultResponse='InvalidMockResponse 2' log.info 'r2' }
REIHENFOLGE : Dies ist eine einfache Möglichkeit, Antworten zu senden. Antworten werden in einer Sequenz gesendet, d. H. Erste Abfrage erste Antwort, nächste Abfrage nächste Antwort usw.
QUERY_MATCH : Abfrage kann eine etwas komplexe Versandmethode sein. Bei dieser Methode basiert die Antwort auf dem Abfrageergebnis.
freie Software zur Behebung von Registrierungsfehlern
Im Konfigurationsbereich können wir links eine oder mehrere Abfragen auflisten und im rechten Bereich die Abfrage (XPATH) und den erwarteten Wert angeben. Wenn die Abfrage mit den erwarteten Werten übereinstimmt, wird die ausgewählte Antwort gesendet. Andernfalls wird die Standardantwort zurückgegeben.
XPATH : Dies ist fast ähnlich wie QUERY_MATCH, aber nicht so leistungsfähig. Es sendet eine Antwort, wenn XPATH übereinstimmt.
ZUFÄLLIG : Dies ist eine einfachere Möglichkeit, Antworten zu versenden. Es nimmt nur jede Antwort auf zufällige Weise auf und versendet sie sofort.
Scripting für Mock Response:
Scripting ist die vielseitigste und komplizierteste Option. Mit Skripten können Sie jedoch den Inhalt, die Header und die Anhänge der Scheinantworten ändern, während Sie sie an den Client senden. Außerdem können Sie gültige oder ungültige HTTP-Antworten simulieren. Jede Scheinantwort kann ein eigenes Skript zum Erstellen dynamischer Inhalte in der Antwortnachricht haben.
Der Skriptinspektor am unteren Rand des Mock-Response-Editors wird unten angezeigt:
Skriptbeispiel:
import javax.xml.xpath.* import groovy.xml.StreamingMarkupBuilder import groovy.lang.Binding; import groovy.lang.Script; def util = new com.eviware.soapui.support.GroovyUtils( context ) def xml = new XmlSlurper().parseText(mockRequest.requestContent) def country = xml.Body.GetCitiesByCountry.CountryName def str = country.toString() log.info str if(str == 'India' || str == 'INDIA') { context.CaptialCity = 'Delhi' } else if(str == 'UK' || str == 'Uk') { context.CaptialCity = 'London' }
Im obigen Beispiel legt das Skript einfach den Wert der Eigenschaft 'CaptialCity' in der Antwort des aktuellen Kontexts fest.
Wir können verschiedene Möglichkeiten verwenden, um den dynamischen Inhalt von Eigenschaften zu erstellen, z. B. das Abfragen einer Datenbank oder das Lesen einer externen Datei usw.
Fazit:
Mock Services ist eine der leistungsstärksten Funktionen von SOAPUI. Mock Service macht eine Reihe von Mock-Operationen verfügbar, die wiederum eine beliebige Anzahl von Mock-Antworten enthalten können. Diese Antworten bieten eine konkrete Möglichkeit, um zu beurteilen, wie der Webdienst tatsächlich funktioniert, wie Benutzer darauf reagieren und die Anwendung verwenden.
Dynamische Scheinantworten in SOAPUI machen es in der Testautomatisierung sehr nützlich.
Mit einigen zusätzlichen Skriptanstrengungen können Sie automatisierte Testschritte erstellen, die mit Sicherheit die Testqualität verbessern und die Testzeit in den Entwicklungsphasen jeder Webanwendung verkürzen.
Ich hoffe, dieses Tutorial zum Erstellen eines Mock-Service und zum Erstellen dynamischer Antworten war hilfreich. Fühlen Sie sich frei, Ihre Fragen in den folgenden Kommentaren hinzuzufügen.
Literatur-Empfehlungen
- Eine kurze SoapUI-Anleitung zum Speichern von Anforderungs- und Antwortdaten in einer Datei - SoapUI Tutorial Nr. 15
- So erstellen und führen Sie Ihr erstes SoapUI-Projekt mit WSDL aus - SoapUI Tutorial # 4
- 15+ SoapUI-Tutorials: Das beste API-Testtool für Webdienste
- 4 Wichtige Funktionen von SoapUI Pro für Pro Audience - SoapUI Tutorial # 12
- Schritt für Schritt SoapUI Download- und Installationsprozess - SoapUI Tutorial # 3
- So behandeln Sie Ausnahmen in SoapUI Groovy-Skripten - SoapUI Tutorial # 11
- Verwendung von Eigenschaften in SoapUI Groovy Script - SoapUI Tutorial # 7
- Grundlegendes zu Behauptungen in SoapUI - SoapUI Tutorial # 5