Behauptungen in SoapUI: Tutorial zu Skripten, XQuery, XPath-Typen
Was ist eine Behauptung?
Unter Behauptung versteht man den Akt der Bestรคtigung oder Aussage. Es kann auch als Kontrollpunkt oder Validierungspunkt interpretiert werden.
Sobald eine Anfrage an einen Webserver gesendet wird, wird eine Antwort empfangen. Wir mรผssen รผberprรผfen, ob die Antwort die Daten enthรคlt, die wir erwarten. Um die Antwort zu validieren, mรผssen wir Behauptungen verwenden.
Arten von Behauptungen
Es gibt verschiedene Mรถglichkeiten, eine Antwort durchzusetzen; Bei der Validierung einer Antwort konzentrieren wir uns jedoch auf die hรคufig verwendeten SoapUI-Assertions-Typen. Nachfolgend finden Sie diejenigen, die in der Open-Source-Version von SoapUI verfรผgbar sind.
- Eigenschaftsinhalt
- Compliance-Statusstandard
- Skript
- SLA
- JMS
- Sicherheit

Abgesehen von den oben aufgefรผhrten Funktionen verfรผgt die PRO-Version auch รผber eine integrierte JDBC-Assertion, mit der wir feststellen kรถnnen, ob der Webdienst die Datenbank korrekt aktualisiert hat.
ENTHรLT BEHAUPTUNG
Sucht nach der Existenz der angegebenen Zeichenfolge. Es unterstรผtzt auch regulรคre Ausdrรผcke.
Wir werden mit dem gleichen Beispiel aus dem vorherigen Tutorial mit WSDL-Anfrage fortfahren http://www.dneonline.com/calculator.asmx.
Schritt 1: Standardmรครig gibt es keine Behauptungen.
- Die Anzahl der Behauptungen wird auf der Registerkarte โBehauptungenโ angezeigt.
- Um eine neue Behauptung hinzuzufรผgen, klicken Sie auf die Schaltflรคche โNeue Behauptung hinzufรผgenโ.
Schritt 2: Jetzt,
- Wรคhlen Sie die Behauptungskategorie aus.
- Wรคhlen Sie den Behauptungstyp aus.
- Klicken Sie auf "Hinzufรผgen".
Schritt 3: Lassen Sie uns รผberprรผfen, ob die Zeichenfolge โ46โ in der Antwort vorhanden ist. OK klicken'
Hinweis: Wir kรถnnen die Groร-/Kleinschreibung auch ignorieren und einen regulรคren Ausdruck hinzufรผgen.
Schritt 4: Beim Hinzufรผgen wird die Behauptung sofort ausgefรผhrt und zeigt an, ob sie GรLTIG oder UNGรLTIG ist.
Schritt 5: Nehmen wir nun an, wir รคndern den Inhalt von โContains Assertion in SoapUIโ in โ47โ und sehen, was passiert.
Schritt 6: Die Behauptung wird ausgefรผhrt und das Ergebnis wird an den Benutzer weitergeleitet. Da die Zeichenfolge โ47โ nicht in der Antwort enthalten ist, ist die Behauptung fehlgeschlagen.
ENTHรLT KEINE BEHAUPTUNG
Sucht nach der Nichtexistenz der angegebenen Zeichenfolge. Es unterstรผtzt auch regulรคre Ausdrรผcke.
Schritt 1: Nachdem Sie nun auf die Schaltflรคche โNeue Behauptungen hinzufรผgenโ geklickt haben,
- Wรคhlen Sie die Behauptungskategorie aus.
- Wรคhlen Sie den Behauptungstyp aus โ in diesem Fall โNICHT enthรคltโ.
- Klicken Sie auf "Hinzufรผgen".
Schritt 2: Lassen Sie uns รผberprรผfen, ob die Zeichenfolge โintAโ in der Antwort vorhanden ist. Geben Sie die Zeichenfolge โFromCurrencyโ ein und klicken Sie auf โOKโ.
Schritt 3: Sobald eine Assertion hinzugefรผgt wird, wird sie ausgefรผhrt und das Ergebnis angezeigt. Bisher haben wir zwei Assertions hinzugefรผgt, daher werden beide Assertions ausgefรผhrt und das Ergebnis angezeigt.
Schritt 4: Lassen Sie uns nun den Inhalt der โNot Includes Assertionโ รคndern und sehen, was passiert. Wir prรผfen, ob die Zeichenfolge โAddResultโ nicht vorhanden ist.
Schritt 5: Die Zeichenfolge โAddResultโ ist tatsรคchlich in der Antwort vorhanden, daher schlรคgt die โNOT Containsโ-Behauptung fehl, wie unten gezeigt.
XPATH-MATCH-ASSERTION
Verwendung XPath Ausdruck, um den Zielknoten und seine Werte auszuwรคhlen. XPath ist eine XML-Abfragesprache zum Auswรคhlen von Knoten aus einem XML-Dokument.
Schritt 1: Nachdem Sie nun auf die Schaltflรคche โNeue Behauptungen hinzufรผgenโ geklickt haben,
- Wรคhlen Sie die Behauptungskategorie aus.
- Wรคhlen Sie den Assertionstyp โ in diesem Fall โXPath Matchโ.
- Klicken Sie auf "Hinzufรผgen".
Schritt 2: Das Fenster โXPath hinzufรผgenโ wird geรถffnet.
Bevor wir SoapUI XPath hinzufรผgen, mรผssen wir den NameSpace deklarieren. Ein XML-Namespace ist eine Sammlung von Namen, die durch eine URI-Referenz (Uniform Resource Identifier) โโidentifiziert werden und in XML-Dokumenten als Element- und Attributnamen verwendet werden. Dasselbe wird in der SOAP UI XPath Assertion verwendet.
Um den XML-Namespace zu deklarieren, mรผssen wir nur auf die Schaltflรคche โDeklarierenโ klicken, was die Arbeit fรผr uns erledigt. Andernfalls kรถnnen wir auch selbst manuell einen Namespace deklarieren.
Nachdem wir den Namespace deklariert haben, mรผssen wir den XPath mithilfe des erstellten Namespace referenzieren.
Wenn Sie auf die Schaltflรคche โDeklarierenโ klicken, werden zwei Namespaces angezeigt, da wir zwei URIs haben. Eine davon ist die Schema-URL und die andere entspricht der tatsรคchlichen Webdienst-URL. Wir mรผssen den tatsรคchlichen Namespace verwenden, in dem sich der Webdienst befindet, und NICHT den Schema-Namespace, wรคhrend wir auf XPath verweisen.
Deklarieren Sie den Namensraum Soap='http://schemas.xmlsoap.org/soap/envelope/';
Namensraum deklarieren ns1='http://tempuri.org/';
Schritt 3: Jetzt mรผssen wir den XPath des XML-Knotens eingeben, den wir validieren mรผssen.
//ns1:AddResult Gibt uns den Wert des dazwischen eingeschlossenen Knotens & und ns1 entspricht dem deklarierten Namespace, der auf โhttp://tempuri.org/โ verweist.
Nachdem wir das XML eingegeben haben, mรผssen wir auf โAus aktueller Antwort auswรคhlenโ klicken, damit der Wert aus der aktuellen Antwort zum kรผnftigen Vergleich รผbernommen wird.
Schritt 4: Bisher
- Nachdem wir die Namespaces deklariert haben, haben wir den XPath des XML-Knotens eingegeben, den wir validieren mรผssen.
- Wir mรผssen auf โAus aktuellem Wert auswรคhlenโ klicken, um den aktuellen Wert als erwarteten Wert festzulegen.
- Dem Benutzer wird der aktuelle Wert angezeigt, den wir bei Bedarf รคndern kรถnnen.
- Klicken Sie auf โSpeichernโ.
Schritt 5: Die hinzugefรผgte Assertion in SoapUI wird wie unten dargestellt angezeigt.
Skript-Assertions
Diese Behauptungstechnik ist die am weitesten verbreitete Technik, da es รคuรerst schwierig ist, Hunderte von Behauptungen zu verwalten und aufrechtzuerhalten.
SOAP UI verwendet entweder Groovy Scripting oder JavaSkript fรผr Skriptbehauptungen. Die Skripttechnik wird zur Entwicklung eines Frameworks zum Testen von SOAP eingesetzt. Skriptbehauptungen werden unter folgenden Umstรคnden verwendet.
Mithilfe von Skripten kann der Benutzer vor und nach der Ausfรผhrung eines Testfalls einige Vorgรคnge ausfรผhren, indem er die Methoden โSetupโ bzw. โTeardownโ verwendet. โSetupโ ist ein Vorgang, der vor der Ausfรผhrung einer bestimmten Methode ausgefรผhrt wird (Beispiel: Objekterstellung und -initialisierung), wรคhrend โTeardownโ ein Vorgang ist, der nach der Ausfรผhrung der Methode ausgefรผhrt wird (z. B.: Objekte zerstรถren und bereinigen). Diese Funktion ist bei anderen Assertion-Typen nicht verfรผgbar und kann nur durch Codierung ausgefรผhrt werden.
Es ermรถglicht Benutzern das รffnen/Schlieรen eines Projekts, um projektbezogene Einstellungen zu initialisieren oder zu bereinigen und auch mit Umgebungsvariablen zu arbeiten, was bei der Skripterstellung sehr hilfreich ist.
Es hilft uns bei der Durchsetzung eines dynamischen Antwortinhalts.
Skript-Assertionen werden zum Erstellen benutzerdefinierter Assertionen verwendet, die NICHT von der SOAP-Benutzeroberflรคche vordefiniert sind.
Um die Skript-Assertion in SoapUI zu demonstrieren, verwenden wir den WSDL-Rechner, den Testfall โHinzufรผgenโ, den wir zuvor erstellt haben.
Schritt 1: Die Schritte zum Hinzufรผgen von Groovy-Skripten sind dieselben wie bei anderen Behauptungen, mit der Ausnahme, dass die Behauptung nicht vordefiniert ist. Stattdessen handelt es sich um eine benutzerdefinierte Behauptung, die grรถรere Flexibilitรคt bietet als die integrierten.
Wรคhlen Sie den Testschritt aus, zu dem die Behauptung hinzugefรผgt werden soll.
Klicken Sie wie unten gezeigt auf die Schaltflรคche โBehauptung hinzufรผgenโ.
Schritt 2: Wรคhlen Sie nun die Kategorie Behauptung aus.
- In diesem Fall handelt es sich um Script.
- Wรคhlen Sie SoapUI Script Assertion aus und es sind keine Untertypen damit verknรผpft.
- Klicken Sie auf โHinzufรผgenโ.
Schritt 3: Der Skriptdialog wird geรถffnet, in dem der Benutzer ein benutzerdefiniertes Skript schreiben kann, um die Antwort-XML zu validieren.
Schritt 4: Lassen Sie uns nun ein tolles Skript schreiben, um die Conversion-Rate zu validieren. Das Skript ist unten mit den eingebetteten Kommentaren angehรคngt. Es wird empfohlen, Kenntnisse darรผber zu haben Java Skript oder Groovy Skript, bevor Sie versuchen, Ihr eigenes Skript zu schreiben.
//Define Groovy Utils and holder for validating the XML reponse content
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)
//Define the NameSpace
holder.namespaces["ns1"] = "http://tempuri.org/"
//Get the Value of the Node 'AddResult' and assign to a variable
def addResult = holder.getNodeValue("//ns1:AddResult")
//print the value of the result in the Output panel
log.info "The result value for integers is " + addResult
//Comparing the value to print 'Pass' or 'Fail'
if(addResult=="46")
{ log.info "Pass" }
else
{ log.info "fail"}
- Klicken Sie auf die Schaltflรคche โAusfรผhrenโ, um die Ausfรผhrung auszulรถsen.
- Die Ausgabe des Skripts wird im Ausgabebereich angezeigt. Es wurden sowohl der Conversion-Wert als auch das Endergebnis (Bestanden oder Nicht bestanden) gedruckt.
- Es wird die Information angezeigt, dass die Skript-Assertion erfolgreich war. Klicken Sie auf โOKโ.
Hinweis: Das endgรผltige Informations-Popup wird immer mit der Meldung โSkript-Assertion bestandenโ angezeigt, solange das Skript syntaktisch korrekt ist. Es hat keinen Zusammenhang mit Ihrer Aussage im Skript.
klicken Sie auf OK
Schritt 5: Auf der Registerkarte โAssertionโ werden nun alle Assertionen angezeigt, die wir fรผr diese Testsuite hinzugefรผgt haben, mit dem Status fรผr jede einzelne davon.
Schritt 6: Aktuell
- Wรคhlen Sie die Testsuite aus der Navigatorstruktur aus
- Klicken Sie auf die Schaltflรคche โAusfรผhrenโ.
- Die Ergebnisse werden fรผr die gesamte Testsuite angezeigt.
Xquery-Match-Assertion
Es verwendet einen Xquery-Ausdruck, um Inhalte aus der Zieleigenschaft auszuwรคhlen. Wir benรถtigen ein viel grรถรeres Antwort-XML, um die XQuery-Assertion in SoapUI besser zu verstehen. Lassen Sie uns eine weitere WSDL importieren, wie unten gezeigt: http://www.webservicex.net/medicareSupplier.asmx?WSDL
Schritt 1: Fรผhren Sie einen Rechtsklick auf das vorhandene Projekt aus und wรคhlen Sie โWSDL hinzufรผgenโ.
Schritt 2: Fรผhren Sie einen Rechtsklick auf das vorhandene Projekt aus und wรคhlen Sie โWSDL hinzufรผgenโ. Belassen Sie die anderen Optionen als Standard und klicken Sie auf die Schaltflรคche โOKโ.
Schritt 3: Alle Vorgรคnge sind wie unten gezeigt aufgelistet.
Schritt 4: Fรผgen wir nun a hinzu Testfall innerhalb derselben Testsuite, fรผr die wir erstellt hatten Tests der Wรคhrungsumrechner.
Schritt 5: Geben Sie den Namen des Testfalls ein und klicken Sie auf die Schaltflรคche โOKโ.
Schritt 6: Der Testfall wird wie unten gezeigt erstellt.
Schritt 7: Speichern
einen neuen Testschritt vom Typ โSoap Test Requestโ, wie unten gezeigt.
Schritt 8: Geben Sie den Namen des Testschritts ein. Sagen wir โ Lieferant_nach_Stadt, was aussagekrรคftiger wรคre. Klicken Sie auf โOKโ.
Schritt 9: Wรคhle aus Operation, die wir validieren mรถchten. In diesem Fall ist es โMedicareSupplierSoap -> GetSupplierByCityโ. Klicken Sie auf โOKโ.
Schritt 10: Geben Sie den Namen des Testfalls ein und klicken Sie auf โOKโ.
Schritt 11: Die XML-Gliederung der Anforderung wird wie unten dargestellt angezeigt.
Schritt 12: Lassen Sie uns nun alle Lieferanteninformationen fรผr die Stadt โNew Yorkโ finden.
Fรผgen Sie dazu Ihrem Code die folgenden Zeilen hinzu.
<GetSupplierByCity xmlns="http://www.webservicex.net/"> <City>New York</City> </GetSupplierByCity>
WSDL in der folgenden URL โ http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity
Schritt 13: Nach der Durchfรผhrung des Tests erhalten wir die folgende Antwort
Schritt 14: Nehmen wir an, wir mรผssen die gesamte Lieferantennummer validieren. Wir kรถnnen XPath Assertion nicht verwenden, da wir Hunderte von XPath Assertion benรถtigen. Daher ist der Einsatz von XQuery in diesem Fall unumgรคnglich.
XQuery Assertion hilft uns, eine Gruppe von XML-Antworten zu validieren, die sich wiederholender Natur sind.
Schritt 15: Klicken Sie nun auf โBehauptung hinzufรผgenโ,
- Wรคhlen Sie in diesem Fall die โAssertionskategorieโ โ Eigenschaftsinhalt.
- Wรคhlen Sie den Assertionstyp als โXQuery Assertionโ aus.
- Klicken Sie auf โHinzufรผgenโ.
Schritt 16: รhnlich wie bei XPath Assertion mรผssen wir den Namespace deklarieren.
-
Klicken Sie auf die Schaltflรคche โDeklarierenโ, damit SOAP UI den Namespace automatisch deklarieren kann. Wenn Sie auf die Schaltflรคche โDeklarierenโ klicken, wird dem Benutzer ein โPOP-upโ mit der Meldung โStattdessen Namespace aus Schema deklarierenโ angezeigt. Klicken Sie auf โJaโ, um wie unten gezeigt fortzufahren.
Hinweis: Wenn Sie auf die Schaltflรคche โDeklarierenโ klicken, erhalten Sie mรถglicherweise unterschiedliche URLs als Namespace-Deklaration. Fรผr die Codierung wird jedoch der tatsรคchliche Namespace des Webdienststandorts berรผcksichtigt.
- Um die gesamte Lieferantennummer abzurufen, mรผssen wir eine XPath-Abfrage schreiben und diese innerhalb von <SupplierNumber> und platzieren Stichworte.
- Klicken Sie auf โAus aktueller Antwort auswรคhlenโ, um die Ausfรผhrung anhand der aktuellen Antwort durchzufรผhren.
- Wenn Sie auf โAus aktuellem auswรคhlenโ klicken, werden alle Lieferantennummern aufgelistet.
- Klicken Sie auf โSpeichernโ.
// Namespace declaration declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; declare namespace x = ''; // Placing the result in Myresult Tags{ // Iterating through all the supplier number for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData //Return all the Supplier number within โSupplierNumberโ Tags. return {data($x/ns1:SupplierNumber)} }
Schritt 17: XQuery Assertion wird ausgefรผhrt und zeigt das Endergebnis im Fenster โAssertionโ an, wie unten dargestellt. Jetzt haben wir erfolgreich eine Xquery-Behauptung hinzugefรผgt, mit der wir alle Informationen zur Lieferantennummer validiert haben. Das Gleiche wird jedes Mal mit den tatsรคchlichen Werten verglichen, wenn die Anfrage an den Webserver gesendet wird.
Hinweis: Die tatsรคchlichen Werte werden nicht angezeigt. Wenn alle tatsรคchlichen Werte mit den erwarteten Werten รผbereinstimmen, wird โVALIDโ angezeigt, andernfalls โFailedโ.
Wann sollte die integrierte Behauptung verwendet werden?
- Wenn eine Antwort so kurz ist, dass sie mithilfe einer dieser integrierten Behauptungen validiert werden kann.
- Wir kรถnnen Inbuilt Assertion auch verwenden, wenn die vom Webserver gesendete Antwort immer statischer Natur ist. Wenn es dynamisch ist, kรถnnen wir es nicht mithilfe integrierter Behauptungen behaupten.
- Wenn die Verwendung integrierter Zusicherungen wie Timeout-Zusicherungen und Sicherheitszusicherungen unumgรคnglich wird.
- Eingebaute Behauptungen eignen sich ziemlich gut fรผr den einmaligen Gebrauch, bei dem Tests nicht wiederholt werden mรผssen.
Behauptungsoptionen
Die erstellten Behauptungen kรถnnen am besten mit Hilfe des unten hervorgehobenen Kontrollfelds gesteuert werden.
Die erstellten Behauptungen ermรถglichen es Testern, folgende Dinge aus der Behauptungs-Toolbox zu konfigurieren.
| Option | Beschreibung |
|---|---|
|
|
Die ausgewรคhlte Behauptung rรผckt in der Reihenfolge nach oben. |
|
|
Die ausgewรคhlte Behauptung wird in der Reihenfolge nach unten verschoben. |
|
|
Entfernt die ausgewรคhlte Behauptung |
|
|
Konfigurieren/bearbeiten Sie die ausgewรคhlte Behauptung neu. |
- Nachfolgend sind die Funktionen aufgefรผhrt, die ausschlieรlich in der PRO-Version von SOAP UI verfรผgbar sind. Die PRO-Version hilft uns auch beim Gruppieren von Behauptungen, sodass wir den erstellten Behauptungen eine weitere Validierungsebene hinzufรผgen kรถnnen.
- Pro-Version erlaubt auch Klonen von Behauptungen: Mit dieser Option kรถnnen Tester das Kopieren einer Behauptung in einen anderen Testschritt im selben oder einem anderen Projekt zulassen.
- Behauptungen deaktivieren/aktivieren: Mit dieser Option kรถnnen Sie jede gruppierte oder nicht gruppierte Behauptung deaktivieren oder aktivieren. Wenn eine Behauptung deaktiviert ist, wird sie ausgegraut und wenn ein Testfall ausgefรผhrt wird, werden deaktivierte Behauptungen nicht ausgefรผhrt.
- Gruppierung von Behauptungen aufheben: Alle gruppierten Behauptungen kรถnnen aufgehoben werden, wenn Tester dies beschlieรen.
UND: Alle Behauptungen werden als GรLTIG-Behauptung ausgewertet, was zur Gruppenbedingung PASSED fรผhrt. ODER: Mindestens eine der Behauptungen innerhalb der Gruppe muss GรLTIG sein, um eine Gruppenbedingung PASSED zu bestรคtigen.
Vollstรคndige Liste der Methoden, die in verschiedenen Behauptungstypen verfรผgbar sind
| Durchsetzungsmechanismus |
Beschreibung |
| EIGENTUMSINHALT | |
| Enthรคlt | Sucht nach der Existenz der angegebenen Zeichenfolge. Es unterstรผtzt auch regulรคre Ausdrรผcke. |
| Nicht enthรคlt | Sucht nach der Nichtexistenz der angegebenen Zeichenfolge. Es unterstรผtzt auch regulรคre Ausdrรผcke. |
| XPath-Match | Verwendet den XPath-Ausdruck, um den Zielknoten und seine Werte auszuwรคhlen. |
| XQuery-Match | Verwendet einen Xquery-Ausdruck, um Inhalte aus der Zieleigenschaft auszuwรคhlen. |
| Compliance, Status, Standards | |
| HTTP Alle Ressourcen herunterladen | Validiert das HTML-Dokument nach dem Herunterladen und behรคlt alle Eigenschaften bei, die HTML enthalten. |
| Ungรผltige HTTP-Statuscodes | รberprรผft, ob die HTML-Antwort einen Statuscode enthรคlt, der nicht in der Liste der definierten Codes enthalten ist. |
| Kein SOAP-Fehler | รberprรผft, ob die zuletzt empfangene Nachricht kein SOAP-Fehler ist. Es ist sehr offensichtlich, dass es nur fรผr SOAP-Testschritte anwendbar ist. |
| Schemakonformitรคt | รberprรผft, ob die zuletzt empfangene Nachricht mit der WSDL- oder WADL-Standardschemadefinition kompatibel ist. Gilt fรผr SOAP- und REST-Testschritte. |
| SOAP-Fehler | รberprรผft, ob die zuletzt empfangene Nachricht ein SOAP-Fehler ist. Es ist das Gegenteil von โNOT SOAPโ-Fehlerbehauptungen. |
| SOAP-Antwort | รberprรผft, ob die zuletzt empfangene Antwort eine gรผltige SOAP-Antwort ist und gilt nur fรผr SOAP-Testanforderungsschritte. |
| Gรผltige HTTP-Statuscodes | รberprรผft, ob die HTML-Antwort einen Statuscode enthรคlt, der in der Liste der definierten Codes enthalten ist. Es ist das Gegenteil der Behauptung โUngรผltige HTTP-Statuscodesโ. |
| WS-Adressierungsanfrage | รberprรผft, ob die zuletzt empfangene Anfrage geeignete WS-Addressing-Header enthรคlt. |
| WS-Adressierungsantwort | รberprรผft, ob die zuletzt empfangene Antwort geeignete WS-Addressing-Header enthรคlt. |
| WS-Sicherheitsstatus | รberprรผft, ob die zuletzt empfangene Nachricht gรผltige WS-Security-Header enthรคlt und gilt nur fรผr SOAP-Anfragen. |
| Skript | |
| Skript-Behauptung | Ermรถglicht Benutzern die Ausfรผhrung eines benutzerdefinierten Skripts zur Durchfรผhrung benutzerdefinierter Validierungen. |
| SLA | |
| Reaktions-SLA | รberprรผft, ob die Antwortzeit der zuletzt empfangenen Antwort innerhalb des definierten Grenzwerts lag. |
| JMS | |
| JMS-Status | รberprรผft, ob die JMS-Anfrage des Testschritts erfolgreich ausgefรผhrt wurde und gilt fรผr Testschritte mit einem JMS-Endpunkt. |
| JMS-Zeitรผberschreitung | รberprรผft, ob die JMS-Antwort eines Testschritts nicht lรคnger als die angegebene Dauer gedauert hat. |
| Sicherheit | |
| Offenlegung sensibler Informationen | รberprรผft, ob die Antwortnachricht keine vertraulichen Informationen รผber das Zielsystem offenlegt. Wir kรถnnen diese Behauptung fรผr REST-, SOAP- und HTTP-Testschritte verwenden. |
Laden Sie das SOAPUI-Projekt herunter, das die oben genannten Behauptungen enthรคlt
Hรคufige Fehler und Fehlerbehebung
Verwenden Sie den richtigen Namespace. Der Namensraum sollte die URL sein, unter der sich der Webdienst befindet.
Wenn beim Entwickeln einer Skript-Assertion ein Fehler auftritt, verwenden Sie โlog.infoโ, um den Inhalt der Variablen auszudrucken
Wenn Sie nicht die gewรผnschte Ausgabe erhalten, รผberprรผfen Sie, ob in der Anforderung eine gรผltige Eingabe รผbergeben wird.
Wenn Sie beispielsweise im Wรคhrungsumrechner โintAโ als โxโ eingeben, was keine Ganzzahl ist, gibt die Ausgabe einen Fehlercode als โSOAP-Clientโ aus, was bedeutet, dass das Problem mit dem Parameter zusammenhรคngt, der von รผbergeben wird Client-Seite.
Stellen Sie sicher, dass Sie bei der Verwendung von XPATH und XQuery-Assertion die richtige Syntax verwenden. Sie sollten NICHT Punkt(.) anstelle von Doppelpunkt(:) verwenden, wรคhrend Sie die obige Behauptung verwenden. Die Syntax lautet //namespace:Tagname und NICHT //namespace.tagname. Dadurch erhalten Sie mรถglicherweise die Meldung โKEINE รbereinstimmung in der aktuellen Antwortโ, obwohl der Tag-Name korrekt ist.














































