A tartalmaz ellenőrzési pontokkal ellenőrizheti, hogy a szolgáltatás által visszaadott XML tartalom elemeinek egyike megegyezik-e az ellenőrzési pontban megadott XML töredékkel.
Erről a feladatról
Ellenőrzési pontok hozzáadásakor a szolgáltatásválasz eredményei összehasonlításra kerülnek a várt adatokkal, melyek az ellenőrzési pont teszt elemében vannak megadva. Az
egyenlő vagy
tartalmaz ellenőrzési pontok lehetővé teszik a szolgáltatás által visszaadott XML tartalom közvetlen összehasonlítását.
- A tartalmaz ellenőrzési pontok Sikeres állapotot adnak vissza, ha a válasz XML tartalom a várt XML töredéket tartalmazzák.
- Az egyenlő ellenőrzési pontok Sikeres állapotot adnak vissza, ha a válasz XML tartalom pontosan megfelel a várt XML adatok egészének.
Bonyolult szolgáltatáskérések vagy ellenőrzési pontok
esetén lehetnek üres XML elemek, amelyek nem szükségesek a tesztparancsfájlban. A
teszt lejátszásakor kihagyhatja az ilyen üres XML elemeket.
Az
oldalon győződjön meg róla, hogy a 'Kihagyás, ha üres' oszlop megjelenítése az
XML fa nézetben jelölőnégyzet be van jelölve. Ez a beállítás megjelenít
egy Kihagyás, ha üres oszlopot a kérés fa nézetében. Ezután
kiválaszthatja a kihagyandó XML elemeket.
- Nyissa meg a tesztszerkesztőt, és válasszon ki egy szolgáltatás-válasz elemet.
- A Tesztelem részletei területen kattintson az
Üzenet lapra, és válassza az Űrlap vagy a Fa nézetet.
- Bontsa ki a boríték sort, kattintson a jobb egérgombbal az ellenőrizni kívánt elemre, majd válassza az előugró menü
Tartalmaz ellenőrzési pont létrehozása menüpontját. Ez a művelet létrehoz egy tartalmaz ellenőrzési pontot, amely tartalmazza a rögzített válasz XML elemét.
Megjegyzés: Tartalmaz ellenőrzési pontot a válaszüzenettel is létrehozhat, ha kiválasztja a válaszüzenetet a
Teszt tartalom panelen, és rákattint a menüpontra. Az eredmény azonban valójában ugyanaz, mint az egyenlő ellenőrzési pontnál, mivel az ellenőrzés pont tartalmazza a válaszüzenet teljes XML tartalmát.
- Válassza ki az ellenőrzési pontot, és a Tesztelem részletei panelen írja be az ellenőrzési pont nevét.
- Válassza ki az ellenőrzési beállításokat:
- Válassza ki az XML névterek használatának tesztelése jelölőnégyzetet az XML dokumentum minősített szerkezetének ellenőrzéséhez, beleértve a névtér címkézést is, az egyszerű név helyett. Tiltsa le ezt a beállítást, ha csak az elem egyszerű nevét akarja ellenőrizni, és a végső visszatérési értéket.
- Válassza kis az XML szöveges csomópontok tesztelése jelölőnégyzetet, hogy az ellenőrzés tartalmazza a szövegelemek tartalmát.
- Válassza kis az XML attribútumok tesztelése jelölőnégyzetet, hogy az ellenőrzés tartalmazza az attribútumok tartalmát.
- Ha szükséges, az Űrlap, Fa vagy
Forrás nézetek kiválasztásával szerkessze a várt XML töredéket.
Egyenlő ellenőrzési pont esetén a várt XML adatok tartalmazzák az XML dokumentumot a válasz-tesztelemből. Ha szükséges, szerkesztheti a várt XML adatokat.
Megadhat általános Java™ reguláris kifejezéseket a Fa nézetben.
Válassza ki a
Reguláris kifejezés oszlopot egy attribútum vagy szöveges érték sorában, és írja be a reguláris kifejezést az Érték oszlopba. A következő reguláris kifejezés például azt ellenőrzi, hogy helyes-e az e-mail cím formátuma: /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/
Reguláris kifejezések használatakor az XML csomópontok vagy XML töredékek számának az ellenőrzési pontban egyeznie kell a várt csomópontok számával.
Az ellenőrzési pont akkor ad vissza Sikeres állapotot, ha az XML töredékben az összes reguláris kifejezés megegyezik.
Példa
A tartalmaz ellenőrzési pont használatával ellenőrizheti, hogy a üzenetválasz csak egy adott elemet és egy adott értéket tartalmaz. Gondolja át a következő üzenetválaszt:
<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">Az üzenet feldolgozása nem sikerült. Ennek legvalószínűbb oka, hogy az 'http://Samples.ICalculator/Add' művelet helytelen, vagy hogy az üzenet érvénytelen vagy lejárt biztonsági kontextus tokent tartalmaz, vagy hogy a kötések eltérnek. A biztonsági kontextus token akkor érvénytelen, ha a szolgáltatás inaktivitás miatt megszakította a kapcsolatot. Ha meg akarja akadályozni, hogy a szolgáltatás idő előtt megszakítsa a várakozó munkameneteket, növelje a Fogadás időkorlátját a szolgáltatás végponton'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>
A
Subcode elem ellenőrzéséhez, a tartalmaz ellenőrzés pont várt tartalma a következő XML töredék:
<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>
A tartalmaz ellenőrzési pont alapértelmezésben azt ellenőrzi, hogy a
Subcode nevű elem tartalmaz-e egy
Value nevű elemet. Az alábbi beállításokat használhatja:
- XML névterek használatának tesztelése: Ezzel a beállítással az ellenőrzés pont azt ellenőrzi, hogy a
"http://www.w3.org/2003/05/soap-envelope":SubCode nevű elem tartalmaz-e egy "http://www.w3.org/2003/05/soap-envelope":Value nevű elemet.
- XML szöveges csomópont tesztelése: Ezzel a beállítással az ellenőrzési pont azt is ellenőrzi, hogy a
Value nevű elem az a:BadContextToken szöveget tartalmazza-e.
- XML attribútumok tesztelése: Ezzel a beállítással az ellenőrzési pont azt is ellenőrzi, hogy az attribútumok megfelelnek-e a várt töredéknek. Az alábbi példában az XML attribútumok tesztelése beállítás nem szükséges, mert a Subcode elem nem rendelkezik attribútumokkal.
Annak ellenőrzéséhez, hogy a
Detail elem megfelelően visszaad-e egy adott értéket a
GetCallerIdentityResult elemnek, a tartalmaz ellenőrzési pont várt tartalmának a következő XML töredéknek kell lennie:
<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>
Az alábbi beállításokat használhatja:
- XML szöveges csomópont tesztelése: Ezzel a beállítással az ellenőrzési pont azt is ellenőrzi, hogy a
GetCallerIdentityResult nevű elem az IdentityValue szöveget tartalmazza-e.
- XML attribútumok tesztelése: Ezzel a beállítással az ellenőrzési pont azt is ellenőrzi, hogy az Id attribútum értéke, melyre a tns0:Id hivatkozik, a várt érték-e. Ehhez az értékhez a Reguláris kifejezés oszlop használatával adhat meg reguláris kifejezést, az ellenőrzési pont Fa nézetében. A tns0:Id="[a-zA-Z]" például azt ellenőrzi, hogy az érték ne tartalmazzon számokat.
Mi a következő lépés?
Az egyes ellenőrzési pontok engedélyezéséhez vagy letiltásához kattintson a jobb egérgombbal az ellenőrzési pontra a tesztszerkesztőben, majd válassza az előugró menü
Engedélyezés vagy
Letiltás menüpontját.