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.

  1. Eigenschaftsinhalt
  2. Compliance-Statusstandard
  3. Skript
  4. SLA
  5. JMS
  6. Sicherheit
Arten von Behauptungen in SoapUI
Arten von Behauptungen in SoapUI

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โ€œ.

Enthรคlt Behauptung

Schritt 2: Jetzt,

  1. Wรคhlen Sie die Behauptungskategorie aus.
  2. Wรคhlen Sie den Behauptungstyp aus.
  3. Klicken Sie auf "Hinzufรผgen".

Enthรคlt Behauptung

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.

Enthรคlt Behauptung

Schritt 4: Beim Hinzufรผgen wird die Behauptung sofort ausgefรผhrt und zeigt an, ob sie GรœLTIG oder UNGรœLTIG ist.

Enthรคlt Behauptung

Schritt 5: Nehmen wir nun an, wir รคndern den Inhalt von โ€žContains Assertion in SoapUIโ€œ in โ€ž47โ€œ und sehen, was passiert.

Enthรคlt Behauptung

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 Behauptung

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,

  1. Wรคhlen Sie die Behauptungskategorie aus.
  2. Wรคhlen Sie den Behauptungstyp aus โ€“ in diesem Fall โ€žNICHT enthรคltโ€œ.
  3. Klicken Sie auf "Hinzufรผgen".

Enthรคlt keine Behauptung

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โ€œ.

Enthรคlt keine Behauptung

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.

Enthรคlt keine Behauptung

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.

Enthรคlt keine Behauptung

Schritt 5: Die Zeichenfolge โ€žAddResultโ€œ ist tatsรคchlich in der Antwort vorhanden, daher schlรคgt die โ€žNOT Containsโ€œ-Behauptung fehl, wie unten gezeigt.

Enthรคlt keine Behauptung

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,

  1. Wรคhlen Sie die Behauptungskategorie aus.
  2. Wรคhlen Sie den Assertionstyp โ€“ in diesem Fall โ€žXPath Matchโ€œ.
  3. Klicken Sie auf "Hinzufรผgen".

XPath-Match-Assertion

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.

XPath-Match-Assertion

Deklarieren Sie den Namensraum Soap='http://schemas.xmlsoap.org/soap/envelope/';

Namensraum deklarieren ns1='http://tempuri.org/';

XPath-Match-Assertion

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.

XPath-Match-Assertion

Schritt 4: Bisher

  1. Nachdem wir die Namespaces deklariert haben, haben wir den XPath des XML-Knotens eingegeben, den wir validieren mรผssen.
  2. Wir mรผssen auf โ€žAus aktuellem Wert auswรคhlenโ€œ klicken, um den aktuellen Wert als erwarteten Wert festzulegen.
  3. Dem Benutzer wird der aktuelle Wert angezeigt, den wir bei Bedarf รคndern kรถnnen.
  4. Klicken Sie auf โ€žSpeichernโ€œ.

XPath-Match-Assertion

Schritt 5: Die hinzugefรผgte Assertion in SoapUI wird wie unten dargestellt angezeigt.

XPath-Match-Assertion

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.

Skript-Assertions

Klicken Sie wie unten gezeigt auf die Schaltflรคche โ€žBehauptung hinzufรผgenโ€œ.

Skript-Assertions

Schritt 2: Wรคhlen Sie nun die Kategorie Behauptung aus.

  1. In diesem Fall handelt es sich um Script.
  2. Wรคhlen Sie SoapUI Script Assertion aus und es sind keine Untertypen damit verknรผpft.
  3. Klicken Sie auf โ€žHinzufรผgenโ€œ.

Skript-Assertions

Schritt 3: Der Skriptdialog wird geรถffnet, in dem der Benutzer ein benutzerdefiniertes Skript schreiben kann, um die Antwort-XML zu validieren.

Skript-Assertions

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"}
  1. Klicken Sie auf die Schaltflรคche โ€žAusfรผhrenโ€œ, um die Ausfรผhrung auszulรถsen.
  2. Die Ausgabe des Skripts wird im Ausgabebereich angezeigt. Es wurden sowohl der Conversion-Wert als auch das Endergebnis (Bestanden oder Nicht bestanden) gedruckt.
  3. 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.

Skript-Assertions

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.

Skript-Assertions

Schritt 6: Aktuell

  1. Wรคhlen Sie die Testsuite aus der Navigatorstruktur aus
  2. Klicken Sie auf die Schaltflรคche โ€žAusfรผhrenโ€œ.
  3. Die Ergebnisse werden fรผr die gesamte Testsuite angezeigt.

Skript-Assertions

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โ€œ.

Xquery-Match-Assertion

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โ€œ.

Xquery-Match-Assertion

Schritt 3: Alle Vorgรคnge sind wie unten gezeigt aufgelistet.

Xquery-Match-Assertion

Schritt 4: Fรผgen wir nun a hinzu Testfall innerhalb derselben Testsuite, fรผr die wir erstellt hatten Tests der Wรคhrungsumrechner.

Xquery-Match-Assertion

Schritt 5: Geben Sie den Namen des Testfalls ein und klicken Sie auf die Schaltflรคche โ€žOKโ€œ.

Xquery-Match-Assertion

Schritt 6: Der Testfall wird wie unten gezeigt erstellt.

Xquery-Match-Assertion

Schritt 7: Speichern
einen neuen Testschritt vom Typ โ€žSoap Test Requestโ€œ, wie unten gezeigt.

Xquery-Match-Assertion

Schritt 8: Geben Sie den Namen des Testschritts ein. Sagen wir โ€“ Lieferant_nach_Stadt, was aussagekrรคftiger wรคre. Klicken Sie auf โ€žOKโ€œ.

Xquery-Match-Assertion

Schritt 9: Wรคhle aus Operation, die wir validieren mรถchten. In diesem Fall ist es โ€žMedicareSupplierSoap -> GetSupplierByCityโ€œ. Klicken Sie auf โ€žOKโ€œ.

Xquery-Match-Assertion

Schritt 10: Geben Sie den Namen des Testfalls ein und klicken Sie auf โ€žOKโ€œ.

Xquery-Match-Assertion

Schritt 11: Die XML-Gliederung der Anforderung wird wie unten dargestellt angezeigt.

 Xquery-Match-Assertion

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

Xquery-Match-Assertion

Schritt 13: Nach der Durchfรผhrung des Tests erhalten wir die folgende Antwort

Xquery-Match-Assertion

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.

Xquery-Match-Assertion

Schritt 15: Klicken Sie nun auf โ€žBehauptung hinzufรผgenโ€œ,

  1. Wรคhlen Sie in diesem Fall die โ€žAssertionskategorieโ€œ โ€“ Eigenschaftsinhalt.
  2. Wรคhlen Sie den Assertionstyp als โ€žXQuery Assertionโ€œ aus.
  3. Klicken Sie auf โ€žHinzufรผgenโ€œ.

Xquery-Match-Assertion

Schritt 16: ร„hnlich wie bei XPath Assertion mรผssen wir den Namespace deklarieren.

  1. 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.

    Xquery-Match-Assertion

  2. Um die gesamte Lieferantennummer abzurufen, mรผssen wir eine XPath-Abfrage schreiben und diese innerhalb von <SupplierNumber> und platzieren Stichworte.
  3. Klicken Sie auf โ€žAus aktueller Antwort auswรคhlenโ€œ, um die Ausfรผhrung anhand der aktuellen Antwort durchzufรผhren.
  4. Wenn Sie auf โ€žAus aktuellem auswรคhlenโ€œ klicken, werden alle Lieferantennummern aufgelistet.
  5. 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)}
}

Xquery-Match-Assertion

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โ€œ.

Xquery-Match-Assertion

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.

Behauptungsoptionen

Die erstellten Behauptungen ermรถglichen es Testern, folgende Dinge aus der Behauptungs-Toolbox zu konfigurieren.

Option Beschreibung

Behauptungsoptionen

Die ausgewรคhlte Behauptung rรผckt in der Reihenfolge nach oben.

Behauptungsoptionen

Die ausgewรคhlte Behauptung wird in der Reihenfolge nach unten verschoben.

Behauptungsoptionen

Entfernt die ausgewรคhlte Behauptung

Behauptungsoptionen

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.
  • 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.

  • 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.

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.

Hรคufige Fehler und Fehlerbehebung

Hรคufige Fehler und Fehlerbehebung

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.

Hรคufige Fehler und Fehlerbehebung

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: