Inhaltsprüfpunkte hinzufügen

Mithilfe von Inhaltsprüfpunkten können Sie überprüfen, ob ein oder mehrere Elemente des XML-Inhalts, der von einem Service zurückgegeben wird, dem im Prüfpunkt angegebenen XML-Fragment entspricht.

Informationen zu diesem Vorgang

Wenn Sie Prüfpunkte hinzufügen, werden die Ergebnisse aus einer Serviceantwort mit dem erwarteten Inhalt verglichen, der im Testelement des Prüfpunkts angegeben ist. Mithilfe von Entsprechungs- oder Inhaltsprüfpunkten können Sie die vom Service zurückgegebenen XML-Inhalte direkt vergleichen.

Komplexe Serviceanforderungen oder Prüfpunkte enthalten möglicherweise leere XML-Elemente, die in einem Testscript nicht benötigt werden. Bei der Wiedergabe des Tests können Sie diese leeren XML-Elemente überspringen. Stellen Sie über Fenster > Benutzervorgaben > Test > Testeditor > Servicetest sicher, dass das Kontrollkästchen Spalte 'Skip if Empty' im XML Tree Viewer anzeigen aktiviert ist. Bei dieser Option wird in der Baumsicht der Anforderung eine Spalte Skip if empty angezeigt. Dort können Sie die XML-Elemente auswählen, die übersprungen werden sollen.

Vorgehensweise

  1. Öffnen Sie den Testeditor und wählen Sie ein Serviceantwortelement aus.
  2. Klicken Sie im Bereich Testelementdetails auf die Registerkarte Nachricht und wählen Sie die Sicht Formular oder Baum aus.
  3. Erweitern Sie die Rahmenanweisungszeile, klicken Sie mit der rechten Maustaste auf das zu prüfende Element und klicken Sie dann auf Inhaltsprüfpunkt erstellen. Dadurch wird ein Inhaltsprüfpunkt erstellt, der das XML-Element aus der aufgezeichneten Antwort einbezieht.
    Anmerkung: Sie können auch einen Inhaltsprüfpunkt mit der Nachrichtenantwort erstellen. Dazu wählen Sie die Nachrichtenantwort im Bereich Testinhalte aus und klicken auf Hinzufügen > Inhaltsprüfpunkt. Das Ergebnis entspricht jedoch dem eines Entsprechungsprüfpunkts, da der Prüfpunkt den gesamten XML-Inhalt der Nachrichtenantwort enthält.
  4. Wählen Sie den Prüfpunkt aus und geben Sie im Bereich Testelementdetails einen Namen für den Prüfpunkt ein.
  5. Wählen Sie die Prüfungsoptionen aus:
    • Aktivieren Sie das Kontrollkästchen Test mit XML-Namensbereichen, um die Überprüfung für die qualifizierte Struktur des XML-Dokuments auszuführen, einschließlich der Namensbereichmarkierung anstelle des einfachen Namens. Inaktivieren Sie diese Option, um nur den einfachen Namen des Elements und den abschließenden Rückgabewert zu prüfen.
    • Aktivieren Sie das Kontrollkästchen XML-Textknoten testen, um den Inhalt von Textelementen in die Prüfung einzuschließen.
    • Aktivieren Sie das Kontrollkästchen XML-Attribute testen, um den Inhalt von Attributen in die Prüfung einzuschließen.
  6. Wählen Sie bei Bedarf die Sicht Formular, Baum oder Quelle aus, um das erwartete XML-Fragment zu bearbeiten.

    Für einen Entsprechungsprüfpunkt enthalten die erwarteten XML-Daten das XML-Dokument aus dem Antworttestelement. Bei Bedarf können Sie die erwarteten XML-Daten bearbeiten.

    Sie können reguläre Java™-Standardausdrücke in der Sicht Baum angeben. Wählen Sie die Spalte Regulärer Ausdruck in der Zeile eines Attribut- oder Textwerts aus und geben Sie den regulären Ausdruck in der Spalte Wert ein. Der folgende reguläre Ausdruck prüft beispielsweise auf eine ordnungsgemäß formatierte E-Mail-Adresse: /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

    Bei Verwendung von regulären Ausdrücken muss die Anzahl der XML-Knoten oder XML-Fragmente im Prüfpunkt mit der Anzahl der erwarteten Knoten übereinstimmen. Für den Prüfpunkt wird der Status "Erfolgreich" zurückgegeben, wenn für alle regulären Ausdrücke im XML-Fragment eine Entsprechung gefunden wird.

Beispiel

Mithilfe eines Inhaltsprüfpunkts können Sie überprüfen, ob die Nachrichtenantwort nur ein bestimmtes Element mit einem bestimmten Wert enthält. Sehen Sie sich z. B. die folgende Nachrichtenantwort an:
<s:Envelope
 xmlns:a="http://www.w3.org/2005/08/addressing"
 xmlns:s="http://www.w3.org/2003/05/soap-envelope">
  <s:Header>
    <a:Action
     s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action>
    <a:RelatesTo>uuid:ed9bc447-d739-452f-989d-cd48344d494a</a:RelatesTo>
  </s:Header>
  <s:Body>
    <s:Fault>
      <s:Code>
        <s:Value>s:Sender</s:Value>
        <s:Subcode>
          <s:Value
           xmlns:a="http://schemas.xmlsoap.org/ws/2005/02/sc">a:BadContextToken</s:Value>
        </s:Subcode>
      </s:Code>
      <s:Reason>
        <s:Text
         xml:lang="en-US">The message could not be processed. This is most likely because the action &apos;http://Samples.ICalculator/Add&apos; is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint&apos;s binding.</s:Text>
      </s:Reason>
      <s:Node>http://www.w3.org/1999/xlink</s:Node>
      <s:Role>http://www.w3.org/1999/xlink</s:Role>
      <s:Detail
       xmlns:tns0="http://schemas.com/2003/10/Serialization/"
       xmlns:tns15="http://Samples.Windows"
       tns0:Id="id"
       tns0:Ref="idref">
        <tns15:GetCallerIdentityResponse>
          <tns15:GetCallerIdentityResult>str</tns15:GetCallerIdentityResult>
        </tns15:GetCallerIdentityResponse>
      </s:Detail>
    </s:Fault>
  </s:Body>
</s:Envelope>
Zum Überprüfen des Elements Subcode ist der erwartete Inhalt des Inhaltsprüfpunkts das folgende XML-Fragment:
<s:Subcode
  xmlns:a="http://www.w3.org/2005/08/addressing"
  xmlns:s="http://www.w3.org/2003/05/soap-envelope">
   <s:Value
   xmlns:a="http://schemas.xmlsoap.org/ws/2005/02/sc">a:BadContextToken</s:Value>
</s:Subcode>
Mit dem Inhaltsprüfpunkt wird standardmäßig überprüft, ob ein Element mit dem Namen Subcode ein Element mit dem Namen Value enthält. Sie können die folgenden Optionen verwenden:
  • Test mit XML-Namensbereichen: Bei dieser Option wird mithilfe des Prüfpunkts überprüft, ob ein Element mit dem Namen "http://www.w3.org/2003/05/soap-envelope":SubCode ein Element mit dem Namen "http://www.w3.org/2003/05/soap-envelope":Value enthält.
  • XML-Textknoten testen: Bei dieser Option wird mithilfe des Prüfpunkts außerdem überprüft, ob das Element mit dem Namen Value den Text a:BadContextToken enthält.
  • XML-Attribute testen: Bei dieser Option wird mithilfe des Prüfpunkts außerdem überprüft, ob die Attribute dem erwarteten XML-Fragment entsprechen. Bei diesem Beispiel ist die Option XML-Attribute testen nicht erforderlich, da das Element Subcode keine Attribute aufweist.
Um zu überprüfen, ob das Element Detail einen bestimmten Wert für GetCallerIdentityResult richtig zurückgibt, ist der erwartete Inhalt des Inhaltsprüfpunkts das folgende XML-Fragment:
<s:Detail
 xmlns:a="http://www.w3.org/2005/08/addressing"
 xmlns:s="http://www.w3.org/2003/05/soap-envelope"
 xmlns:tns0="http://schemas.com/2003/10/Serialization/"
 xmlns:tns15="http://Samples.Windows"
 tns0:Id="regular_expression"
 tns0:Ref="idref">
  <tns15:GetCallerIdentityResponse>
    <tns15:GetCallerIdentityResult>IdentityValue</tns15:GetCallerIdentityResult>
  </tns15:GetCallerIdentityResponse>
</s:Detail>
Sie können die folgenden Optionen verwenden:
  • XML-Textknoten testen: Bei dieser Option wird mithilfe des Prüfpunkts außerdem überprüft, ob das Element mit dem Namen GetCallerIdentityResult den Text IdentityValue enthält.
  • XML-Attribute testen: Bei dieser Option wird mithilfe des Prüfpunkts außerdem überprüft, ob das Attribut Id, auf das durch tns0:Id verwiesen wird, den erwarteten Wert aufweist. Sie können einen regulären Ausdruck für diesen Wert angeben. Dazu verwenden Sie die Spalte Regulärer Ausdruck in der Sicht Baum des Prüfpunkts. Beispielsweise wird mit tns0:Id="[a-zA-Z]" geprüft, ob der Wert keine Zahlen enthält.

Nächste Schritte

Sie können die einzelnen Prüfpunkte aktivieren oder inaktivieren, indem Sie den betreffenden Prüfpunkt im Testeditor mit der rechten Maustaste anklicken und dann auf Aktivieren oder Inaktivieren klicken.

Feedback