17 prosince, 2021

SoapUI Common Assertions

v předchozích dvou článcích jsme se zabývali podrobnostmi specifických tvrzení o testování, které byly použitelné pouze pro určitý druh testovacího případu nebo testované webové služby. Všechna tvrzení uvedená v článku „SoapUI Test Specific Assertions: REST Services“ platí pouze pro webové služby REST a všechna tvrzení uvedená v článku „SoapUI Test Specific Assertions: SOAP Services“ se vztahují pouze na webové služby SoapUI. Nyní, SoapUI poskytuje několik dalších tvrzení také, které jsou použitelné jak pro mýdlo a odpočinek služby a jsou známé jako společné tvrzení SoapUI. V tomto článku, pochopíme použití všech těchto společných tvrzení tím, že pokryjeme podrobnosti v následujících tématech:

  • jaké jsou společné tvrzení o obsahu vlastností v SoapUI?
    • co je obsahuje tvrzení v SoapUI?
    • navíc, co není obsahuje tvrzení v SoapUI?
    • co je XPath tvrzení v SoapUI?
    • co je XQuery Match Assertionin SoapUI?
  • podobně, jaké jsou společné dodržování, postavení, a standardní tvrzení v SoapUI?
    • jaké jsou HTTP stavové kódy tvrzení poskytované SoapUI?
    • kromě toho, co je tvrzení o shodě schématu v SoapUI?
  • jaké jsou běžné SLA tvrzení v SoapUI?

protože všechna tato tvrzení jsou použitelná jak pro služby SOAP, tak pro služby REST, použijeme pro ověření všech těchto tvrzení následující informace:

  • zbytek projektu vytvořený pomocí URI: „http://bookstore.toolsqa.com/BookStore/v1/Books „a SOAP projekt vytvořený pomocí WSDL:“ http://bookstore.toolsqa.com/BookStoreService.wsdl „podle podrobností uvedených v článku“ SoapUI: práce s projekty.“
  • můžete odkazovat na ukázkový výstup projektu REST z článku „SoapUI Test Specific Assertions: REST Services“ a ukázkový výstup projektu SoapUI z článku „SoapUI Test Specific Assertions: SOAP Services“.

jaké jsou společné tvrzení o obsahu vlastností v SoapUI?

jak již víme, tvrzení o obsahu vlastností potvrzují obsah přijaté odpovědi. SoapUI poskytuje více tvrzení o obsahu, která jsou použitelná pro požadavky na mýdlo i odpočinek. Podívejme se v následujících částech, jak můžeme tato tvrzení použít?

co je obsahuje tvrzení v SoapUI?

tvrzení obsahuje hledání existence řetězce tokenu v hodnotě vlastnosti.

zvažte scénář, že ve službě Knihkupectví musíme zkontrolovat, zda existuje kniha s názvem autora „Richard E. Silverman“?Postupujme podle níže uvedených kroků a ověřme to samé pomocí tvrzení “ obsahuje:

  1. nejprve přejděte do dialogového okna Přidat tvrzení. Poté klikněte na tvrzení“ obsahuje „v kategorii tvrzení „obsah vlastností“, jak je zvýrazněno níže:

jak přidat obsahuje AssertionCommon pro mýdlo i odpočinek v SoapUI

  1. za druhé, klikněte na tlačítko“ Přidat „a zobrazí se dialogové okno „obsahuje tvrzení“, jak je uvedeno níže:

obsahuje dialogové okno tvrzení v SoapUI

  1. Zatřetí zadejte jméno autora „Richard E. Silverman“ do sekce „obsah“. Je to vyhledávací řetězec, který chcete ověřit v odpovědi webové služby.

  2. Začtvrté, ve výše uvedeném dialogovém okně uvidíte také dvě zaškrtávací políčka. Jsou to:

  • ignorovat případ: pokud zaškrtnete políčko ignorovat případ, ověří řetězec ignorováním případu. Předpokládejme, že do textového pole obsahu zadáte „richARD E. SilVerMan“ a zaškrtněte políčko „ignorovat případ ve srovnání“. Navíc bude ignorovat případ a zkontroluje pouze hodnotu zadaného řetězce.

IgnoreCase obsahuje tvrzení v SoapUI

takže tvrzení projde, protože znaky v řetězci jsou stejné, pokud případ ignorujeme.

  • Regulární výraz: Chcete-li ověřit výstup na základě regulárního výrazu, zaškrtněte toto políčko a poté zadejte regulární výraz v sekci Obsah. SoapUI sleduje vzory regulárních výrazů zadané společností Oracle například, pokud chceme ověřit, že odpověď služby kniha obsahuje v odpovědi „O ‚ Reilly“, můžete zadat „.O ‚ Reilly.“jako regulární výraz v sekci Obsah, jak je uvedeno níže:

Regulární výraz v obsahovat tvrzení v SoapUI

takže můžeme ověřit existenci řetězce v odpovědi webové služby pomocí tvrzení obsahuje a můžeme to použít pro webové služby SOAP I REST.

co není obsahuje tvrzení v SoapUI?

na rozdíl od Contains assertion hledá not Contains assertion neexistenci řetězce v hodnotě vlastnosti. Toto tvrzení navíc projde, pokud odpověď neobsahuje zadanou hodnotu.

předpokládejme; chceme ověřit, že v odpovědi služby knihkupectví neexistuje žádná kniha s názvem „Groovy Book“, můžeme toto tvrzení použít k ověření odezvy API Knihkupectví.

postupujme podle níže uvedených kroků, abychom ověřili to samé pomocí tvrzení „neobsahuje“ :

  1. Nejprve přejděte do dialogového okna Přidat tvrzení a klikněte na tvrzení“ neobsahuje „v kategorii tvrzení „obsah vlastností“, jak je zvýrazněno níže:

jak přidat Ne obsahuje tvrzeníspolečné pro mýdlo i odpočinek v SoapUI

  1. za druhé, klikněte na tlačítko“ Přidat „a zobrazí se dialogové okno „Notcontans Assertion“, jak je uvedeno níže:

  2. Zatřetí zadejte název řetězce „Groo Book“ v části „Obsah“. Je to vyhledávací řetězec, který chcete ověřit, který neexistuje v odpovědi webové služby.

Poznámka: dvě zaškrtávací políčka (ignorovat případ & RegEx) zde fungují stejným způsobem, jako tomu bylo u tvrzení obsahuje.

  1. Začtvrté kliknutím na tlačítko “ OK “ provedete tvrzení proti odpovědi webové služby a zobrazí se výsledek, jak je uvedeno níže:

Not obsahuje konfiguraci Assertion v SoapUI

  1. pokud tedy řetězec není přítomen v odpovědi cílové služby,tvrzení projde.

co je XPath Match Assertion v SoapUI?

XPath Match assertion vám umožňuje použít výraz XPath k výběru obsahu z konkrétního uzlu cílové odpovědi a porovnání s očekávanou hodnotou.

Předpokládejme, že chcete ověřit, že ISBN první knihy přítomné v odpovědi BookStore API není null. To samé můžeme rychle ověřit pomocí tvrzení XPath.

postupujme podle níže uvedených kroků, abychom ověřili to samé pomocí tvrzení“ XPath Match“:

  1. Nejprve přejděte na dialogové okno Přidat tvrzení. Poté klikněte na tvrzení“ XPath Match „v kategorii tvrzení „Property Content“, jak je zvýrazněno níže:

jak přidat XPath Match AssertionCommon pro mýdlo i odpočinek v SoapUI

  1. za druhé, klikněte na tlačítko“ Přidat „a zobrazí se dialogové okno „XPath Match Configuration“, jak je uvedeno níže:

XPath Match Assertion Configurationspolečné pro mýdlo i odpočinek v SoapUI

kde,

  • deklarovat: kliknutím na toto tlačítko se automaticky načte a vyplní jmenný prostor. Pokud jste si jisti detaily jmenného prostoru, můžete jej zadat ručně, jinak stačí kliknout na tlačítko“ deklarovat “ a vyplní podrobnosti jmenného prostoru, jak je uvedeno níže:

    • jmenný prostor pro službu SOAP bude vyplněn, jak je uvedeno níže:

deklarování jmenného prostoru pro službu SOAP v XPath match assertion v SoapUI

  • podobně bude naplněn jmenný prostor pro službu REST, jak je uvedeno níže:

deklarování jmenného prostoru pro službu REST v XPath match assertion v SoapUI

po deklaraci jmenného prostoru můžeme v sekci XPath Expression zadat XPATH požadovaného uzlu.

  • můžete zadat ukázku XPATH „/ / ns1: BooksResult / ns1: Books / ns1: CustomBookModel / ns1: Isbn „pro službu SOAP, jak je uvedeno níže:

zadání XPath pro službu SoapUI

podobně můžete zadat ukázku XPATH“ / / ns1: books/ / ns1: e / ns1: isbn “ pro službu REST, jak je uvedeno níže:

 zadání XPath pro REST službu v SoapUI

Všimněte si použití namespace ns1 v obou případech. Pro přístup k uzlům je použití jmenného prostoru povinné.

  • vyberte z aktuálního: kliknutím na toto tlačítko automaticky vybere hodnotu uzlu, jak je uvedeno výše v sekci očekávaný výsledek, což je ve výše uvedeném případě isbn. Navíc vybere hodnotu uzlu isbn jako „9781449325862“. Pokud nechcete hodnotu Automaticky vybrat kliknutím na toto tlačítko, můžete očekávaný výsledek zadat také ručně.
  • Test: kliknutím na tlačítko „Test“ můžete otestovat výstup, pokud tvrzení projde, zobrazí se níže uvedené upozornění na úspěch:

Xpath Match Test Success message alert in SoapUI

nebo pokud tvrzení selže, vyvolá chybu a zobrazí dialogové okno, jak je uvedeno níže:

chyba testu XpathMatch

  • Volitelné zaškrtávací políčka: část očekávaný výsledek obsahuje také některá zaškrtávací políčka, která poskytuje další pomoc při ověřování tvrzení. Pojďme pochopit podrobnosti o těchto zaškrtávacích políčkách:
  • povolit zaškrtávací políčko zástupných znaků: pokud se hodnota, kterou chceme ověřit, dynamicky mění v cílové odpovědi, můžeme použít zástupné znaky k ověření odpovědi. Předpokládejme, že pokud vezmeme v úvahu, že isbn 1. knihy vždy končí „862“, pak můžeme použít zástupný znak * „862“, který potvrdí, že isbn vždy končí „862“. Zobrazí se v sekci očekávaný výsledek jako:

povolit zástupný XPath zápas v SoapUI

  • ignorovat prefix jmenného prostoru zaškrtávací políčko: Pokud chceme při ověřování odpovědi ignorovat předponu jmenného prostoru, můžeme to udělat zaškrtnutím tohoto políčka.
  • ignorovat XML Komentáře Checkbox: pokud chceme ignorovat komentáře v odpovědi, můžeme toho dosáhnout zaškrtnutím tohoto políčka.
  • po prozkoumání všech výše uvedených možností klikněte na tlačítko Uložit pro uložení tvrzení. Musí projít jako tvrzení a dostane očekávaný Isbn jako „9781449325862“. V důsledku toho bude ukázán výstup vzorku následujícím způsobem:

XPath Match AssertionCommon pro SOAP i RESToutput View v SoapUI

co je XQuery Match Assertionin SoapUI?

shoda XQuery je velmi podobná tvrzení XPath, s jediným rozdílem, že používá výraz XQuery a porovnává jej s očekávaným výsledkem.

zvažte scénář předpokládejme, že chcete ověřit všechny „tituly“ knih dostupných v odpovědi, bez ohledu na pořadí, v jakém existují. Můžete napsat jednoduchý XQuery a pak je dobré jít.

postupujme podle níže uvedených kroků, abychom ověřili totéž pomocí tvrzení “ XQueryMatch:

  1. Nejprve přejděte do dialogového okna Přidat tvrzení. Poté klikněte na tvrzení“ XQuery Match „v kategorii tvrzení „Property Content“, jak je zvýrazněno níže:

jak přidat XQuery Match Assertionspolečné pro mýdlo i odpočinek v SoapUI

  1. za druhé, klikněte na tlačítko“ Přidat „a zobrazí se dialogové okno „XQuery Match Configuration“, jak je uvedeno níže:

konfigurace XQuery Match Assertion společná pro SOAP I REST v SoapUI

kde,

  • výraz XQuery: Toto je výraz XQuery, který musíte zadat, abyste získali hodnotu z odpovědi webové služby. Chcete-li například získat název všech knih, můžeme zadat výraz XQuery následovně:
<Result>{for$z in //*:CustomBookModelreturn (<Title>{data($z/*:Title)}</Title>)}</Result>

ve výše uvedeném úryvku kódu:

  • <Result> je značka, ve které bude ukládat výsledek na základě odpovědi XQuery. Navíc to může být libovolná značka na základě volby uživatele.
  • navíc iterujeme odpověď pomocí smyčky for a $z je libovolná proměnná, která získá hodnotu od <CustomBookModel>.
  • //. určuje kořen Custombookmodelu, můžete také navigovat pomocí jmenného prostoru a poté zadat jmenný prostor místo**“//.“.***
  • kromě výše uvedeného funkce „return“ vrátí hodnotu značky <Title>.
  • Funkce „data“ také vrací data každé značky titulu ve značce <CustomBookModel>.

2) Výběr z aktuálního: Kliknutím na tlačítko vyberte aktuální hodnotu z odpovědi podle zmíněného XQuery.

3) očekávaný výsledek: po kliknutí na tlačítko „Vybrat z aktuálního“ vrátí všechny tituly z odpovědi služby. Očekávaný výsledek můžete také zadat ručně.

4) Kliknutím na tlačítko „Test“ se zobrazí odpověď na úspěch, jak je uvedeno níže:

úspěšné XQuery zápas tvrzení v SoapUI

  1. kliknutím na tlačítko “ OK “ se zobrazí platné provedení tvrzení.

jaké jsou společné dodržování, stav a standardní tvrzení v SoapUI?

stejně jako běžná tvrzení poskytovaná společností SoapUI v části „Obsah vlastností“, poskytuje také některá tvrzení v kategorii „shoda, stav a Standard“ tvrzení, která jsou společná pro webové služby SOAP I REST. Pojďme pochopit podrobnosti o všech těchto tvrzení v následujících částech:

jaké jsou HTTP stavové kódy tvrzení poskytované SoapUI?

jak všichni víme, stavové kódy HTTP představují, zda byl požadavek HTTP dokončen nebo ne. Všechny tyto kódy odpovědí se obecně dělí do následujících kategorií:

1 1xx: informační: tyto stavové kódy představují přijetí žádosti a její zpracování.
2 2xx: úspěch: tyto stavové kódy představují, že akce byla úspěšně přijata, zpracována a přijata.
3 3xx: přesměrování: tyto stavové kódy představují, že k dokončení požadavku je nutná další akce.
4 4xx: chyba klienta: tyto stavové kódy představují, že požadavek obsahuje nesprávnou syntaxi nebo je něco v nepořádku s naším požadavkem.
5 5xx: chyba serveru: tyto stavové kódy představují chybu na straně serveru, což znamená, že server nesplnil platný požadavek.

pro ověření těchto stavových kódů poskytuje SoapUI několik tvrzení. Podívejme se na podrobnosti těchto tvrzení v následujících částech:

co je platné HTTP stavové kódy tvrzení v SoapUI?

toto tvrzení potvrzuje, že http kód odpovědi vrácený webovou službou leží v seznamu očekávaných HTTP kódů.

zvažte scénář, že pro BookStore API chceme ověřit, že vrácený kód odpovědi je vždy buď 200 nebo 201. K ověření toho můžeme použít tvrzení „platné stavové kódy HTTP“.

postupujme podle níže uvedených kroků, abychom ověřili to samé pomocí tvrzení „platné stavové kódy HTTP:

  1. přejděte do dialogového okna Přidat tvrzení a klikněte na tvrzení“ platné stavové kódy HTTP „v kategorii tvrzení“ shoda, stav a Standard“, jak je zvýrazněno níže:

jak přidat platný stavový kód HTTP assertionCommon pro mýdlo i odpočinek v SoapUI

  1. klikněte na tlačítko“ Přidat „a zobrazí se dialogové okno“ Valid HTTP status codes Assertion Configuration“, jak je uvedeno níže:

platné HTTP stavový kód Assertion configurationsCommon pro SOAP I REST v SoapUI

  1. v části“ zadat kódy “ vložte hodnoty 200, 201. Můžete zadat buď jeden kód, nebo seznam kódů oddělených čárkami. Kliknutím na tlačítko “ OK “ ověříte stavové kódy HTTP proti Poslední odpovědi služby.

co je neplatné http stavové kódy tvrzení v SoapUI?

na rozdíl od tvrzení „platné stavové kódy HTTP“ tvrzení „neplatné stavové kódy HTTP“ potvrzuje, že seznam „očekávané kódy“ neobsahuje stavový kód HTTP vrácený webovou službou.

zvažte scénář, že pro BookStore API chceme ověřit, že vrácený kód odpovědi není 401. K ověření toho můžeme použít tvrzení „neplatné stavové kódy HTTP“.

postupujme podle níže uvedených kroků, abychom ověřili to samé pomocí tvrzení „neplatné stavové kódy HTTP:

  1. přejděte do dialogového okna Přidat tvrzení a klikněte na tvrzení“ neplatné stavové kódy HTTP „v kategorii tvrzení“ shoda, stav a Standard“, jak je zvýrazněno níže:

Jak zadat neplatný stavový kód HTTP assertionCommon pro SOAP I REST v SoapUI

  1. klikněte na tlačítko“ Přidat „a zobrazí se dialogové okno“ neplatné HTTP status codes Assertion Configuration“, jak je uvedeno níže:

neplatné konfigurace tvrzení o stavovém kódu HTTP společné pro SOAP I REST v SoapUI

  1. v části“ zadat kódy “ vložte hodnoty 401. Můžete zadat buď jeden kód, nebo seznam kódů oddělených čárkami. Kliknutím na tlačítko “ OK “ potvrdíte neexistenci stavových kódů HTTP proti Poslední odpovědi služby.

Poznámka: tato tvrzení můžeme aplikovat na koncové body SOAP I REST.

jaké jsou tvrzení o shodě schématu v SoapUI?

kromě stavových kódů můžeme v SoapUI také ověřit zprávu s odpovědí proti definici testované cílové služby ve WSDL(SOAP) nebo WADL(REST).

zvažte scénář, který chceme rychle zkontrolovat, zda odpověď SOAP, kterou dostáváme, je v souladu s WSDL nebo ne?

postupujme podle níže uvedených kroků k ověření toho samého pomocí tvrzení „Schema Compliance“:

  1. přejděte do dialogového okna Přidat tvrzení a klikněte na tvrzení“ shoda schématu „v kategorii tvrzení“ shoda, stav a Standard“, jak je zvýrazněno níže:

jak přidat tvrzení o shodě se Schématemspolečné pro mýdlo i odpočinek v SoapUI

  1. klikněte na tlačítko“ Přidat „a zobrazí se dialogové okno“ Konfigurace Prohlášení o shodě se schématy“, jak je uvedeno níže:

  2. v dialogovém okně Konfigurace automaticky vyplní WSDL, který projekt vytvořil, ale pokud chcete zadat nějaký jiný WSDL, můžete jej také aktualizovat. Pokračujte kliknutím na OK.

zobrazení odpovědi na tvrzení o shodě schématu v SoapU

  1. pokud je odpověď kompatibilní podle uvedeného schématu, uvidíte odpověď na úspěch, jak je uvedeno výše. Chyba se zobrazí vždy, když poslední odpověď není v souladu se schématem WSDL.

Poznámka: Podobně můžete ověřit odpověď služby REST proti zadanému WADL.

jaké jsou běžné SLA tvrzení v SoapUI?

jak všichni víme, dohoda o úrovni služeb(SLA) se obecně označuje jako dohoda mezi poskytovatelem služeb a klientem. Dohodu lze klasifikovat podle různých dohodnutých charakteristik, jako je dostupnost, kvalita, doba odezvy atd. SoapUI poskytuje funkce pro ověření doby odezvy konkrétní služby.

zvažte hypotetický scénář, že dohodnutá doba odezvy webové služby knihkupectví je kratší než 4 sekundy. To samé můžeme ověřit v SoapUI pomocí kategorií tvrzení „SLA“.

pojďme postupovat podle níže uvedených kroků k ověření stejné pomocí“ odpověď SLA „tvrzení:

  1. přejděte do dialogového okna Přidat tvrzení a klikněte na tvrzení“ odpověď SLA „v kategorii tvrzení „SLA“, jak je zvýrazněno níže:

jak přidat odpověď sla assertionCommon pro mýdlo i odpočinek v SoapUI

  1. klikněte na tlačítko“ Přidat“, a zobrazí se dialogové okno „Konfigurace Assertion Response SLA“, jak je uvedeno níže:

konfigurace sla assertionCommon pro SOAP I REST v SoapUI_0

  1. zadejte maximální čas (v ms), ve kterém služba očekává návrat odpovědi. Pro náš scénář jsme zadali 4000 ms. kliknutím na tlačítko OK přidejte tvrzení. Zobrazí se výsledek testu, jak je uvedeno níže:

pohled SLA Assertion response v SoapUI

  1. jak vidíme na výše uvedeném snímku obrazovky, protože doba odezvy služby byla 1374 ms, takže byla pod zmíněnou sla 4000 ms a vyústila v úspěšné tvrzení.

Klíčové Takeaways

  • SoapUI poskytuje širokou škálu tvrzení, které mohou být použity jak pro SOAP a REST webové služby.
  • kromě toho je několik běžných tvrzení Contain, Not Contain, Xpath a XQuery Match, které se používají pro validaci odpovědi na obsah webové služby.
  • kromě toho se pro validaci stavových kódů HTTP a schématu odezvy webových služeb používá další sada běžných tvrzení poskytovaných Společností SoapUI.
  • SoapUI také poskytuje tvrzení SLA, které lze použít pro ověření doby odezvy služeb SOAP I REST.

pojďme k dalšímu článku, kde se budeme hlouběji ponořit, abychom pochopili, jak můžeme implementovat některá předběžná tvrzení pomocí „skriptových tvrzení“ v SoapUI.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.