Pomocí bodů verifikace Obsahuje můžete kontrolovat, zda jeden či více prvků obsahu XML vráceného službou odpovídá fragmentu
XML určenému v bodu verifikace.
Informace o této úloze
Při přidání bodů verifikace se výsledky z odpovědi služby porovnávají s očekávaným obsahem, který je určen v prvku testu bodu verifikace. Body verifikace
Je rovno a
Obsahuje
umožňují přímé porovnání obsahu XML vráceného službou.
- Body verifikace Obsahuje vrátí stav Úspěch, když obsah XML odpovědi obsahuje očekávaný fragment XML.
- Body verifikace Je rovno vrátí stav Úspěch, když se obsah XML odpovědi přesně shoduje s celým očekávaným obsahem XML.
Postup
- Otevřete editor testu a vyberte prvek odezvy služby.
- V oblasti Podrobnosti prvku testu klepněte na kartu Zpráva a vyberte pohled Formulář nebo Strom.
- Rozbalte řádek obálky, klepněte pravým tlačítkem myši na prvek, který chcete zkontrolovat, a vyberte volbu Vytvořit bod verifikace Obsahuje. Tato akce vytvoří bod verifikace Obsahuje, který obsahuje
prvek XML ze zaznamenané odezvy.
Poznámka: Bod verifikace Obsahuje můžete vytvořit také pomocí odezvy na zprávu, a to vybráním odezvy na zprávu v podokně Obsah testu a klepnutím na volbu . Výsledek je však de facto stejný jako bod verifikace Je rovno, protože bod verifikace obsahuje celý obsah XML odezvy na zprávu.
- Vyberte bod verifikace a v podokně Podrobnosti prvku testu zadejte název bodu verifikace.
- Vyberte volby ověření:
- Chcete-li namísto na jednoduchém názvu provést ověření na kvalifikované struktuře dokumentu XML včetně značení oboru názvů, zaškrtněte políčko Testovat pomocí oborů názvů XML. Chcete-li kontrolovat pouze jednoduchý název prvku a konečnou návratovou hodnotu, tuto volbu zakažte.
- Chcete-li do ověření zahrnout obsah textových prvků, zaškrtněte políčko Testovat textové uzly XML.
- Chcete-li do ověření zahrnout obsah atributů, zaškrtněte políčko Testovat atributy XML.
- V případě potřeby vyberte pohled Formulář, Strom nebo Zdroj a upravte očekávaný fragment XML.
V případě bodu verifikace Je rovno obsahují očekávaná data XML dokument XML z prvku testu odezvy. V případě potřeby můžete očekávaná data XML upravit.
V pohledu Strom můžete určit standardní regulární výrazy Java™. Vyberte
sloupec Regulární výraz na řádku atributu nebo textové hodnoty a zadejte regulární výraz do sloupce Hodnota. Například následující regulární výraz
zkontroluje správné formátování e-mailové adresy: /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/
Při použití regulárních výrazů musí počet uzlů XML nebo fragmentů XML v bodu verifikace odpovídat počtu očekávaných uzlů. Bod verifikace vrátí stav Úspěch, pokud se shodují všechny regulární výrazy ve fragmentu
XML.
Příklad
Pomocí bodu verifikace Obsahuje můžete zkontrolovat, že odezva na zprávu obsahuje pouze specifický prvek se specifickou hodnotou. Prohlédněte si například následující odezvu na zprávu:
<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">Zprávu nelze zpracovat. S největší pravděpodobností je to způsobeno tím, že je akce 'http://Samples.ICalculator/Add' chybná nebo že zpráva obsahuje neplatný nebo uplynulý token kontextu zabezpečení nebo že je neshoda mezi vazbami. Token kontextu zabezpečení by byl neplatný, pokud by služba předčasně ukončila kanál v důsledku nečinnosti. Chcete-li službě zabránit v předčasném uzavření nečinné relace, zvyšte časový limit přijetí na vazbě koncového bodu služby.</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>
Pro kontrolu prvku
Subcode je očekávaný obsah bodu verifikace Obsahuje následující fragment XML:
<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>
Při výchozím nastavení bod verifikace Obsahuje zkontroluje, zda prvek s názvem
Subcode obsahuje jeden prvek s názvem
Value. Můžete použít následující volby:
- Testovat pomocí oborů názvů XML: Při použití této volby bod verifikace zkontroluje, zda prvek s názvem "http://www.w3.org/2003/05/soap-envelope":SubCode obsahuje jeden prvek s názvem "http://www.w3.org/2003/05/soap-envelope":Value.
- Testovat textové uzly XML: Při použití této volby bod verifikace také zkontroluje, zda prvek s názvem Value obsahuje text a:BadContextToken.
- Testovat atributy XML: Při použití této volby bod verifikace také zkontroluje, zda atributy odpovídají očekávanému fragmentu XML. V tomto příkladu není volba Testovat atributy XML nutná, protože prvek Subcode žádné atributy nemá.
K provedení kontroly, zda prvek
Detail řádně vrátí specifickou hodnotu pro
GetCallerIdentityResult, je očekávaným obsahem bodu verifikace Obsahuje následující fragment XML:
<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>
Můžete použít následující volby:
- Testovat textový uzel XML: Při použití této volby bod verifikace také zkontroluje, zda prvek s názvem GetCallerIdentityResult obsahuje text IdentityValue.
- Testovat atributy XML: Při použití této volby bod verifikace také zkontroluje, zda má atribut Id, na který odkazuje tns0:Id, očekávanou hodnotu.
Regulární výraz pro tuto hodnotu můžete určit pomocí sloupce Regulární výraz v pohledu Strom bodu verifikace. Například regulární výraz tns0:Id="[a-zA-Z]" zkontroluje, že hodnota neobsahuje čísla.
Jak pokračovat dále
Jednotlivé body verifikace můžete povolit nebo zakázat klepnutím pravým tlačítkem myši na bod verifikace v editoru testů a vybráním volby
Povolit nebo
Zakázat.