understanding assertions soapui soapui tutorial 5
Pracovali jsme na základech SoapUI jako vytváření projektů, přidávání WSDL, odesílání požadavků a přijímání odpovědí a generování testovacích aktiv, která s nimi budou zatím fungovat.
V tomto 5. kurzu SoapUI se dozvíme vše o tvrzeních v SoapUI. Důrazně vám doporučujeme sledujte kompletní tréninkovou sérii SoapUI na této stránce naučit se všechny tyto základní funkce.
Co se naučíte:
Úvod do tvrzení
Stejně jako u každého testování musíme porovnat, co chceme, aby systém dělal a co ve skutečnosti dělá, abychom dospěli k určitému ověření nebo tvrzení, kterému se říká v kontextu webových služeb. Jako testeři nezáleží na tom, zda jsme provedli 1 000 nebo dokonce milion testovacích kroků, ale pro nás je výsledkem testu srovnání výsledků.
Celý tento článek proto budeme věnovat tomu, abychom pochopili, jak to můžeme udělat pomocí SoapUI, ačkoli webové služby lze uplatnit ručně. Ruční tvrzení je také časově náročné, pokud existuje více odpovědí a odpovědí s velkými daty. SoapUI tvrzení jsou vynikající při překonávání těchto nedostatků.
Tvrzení SOAPUI porovnejte části / všechny odpovědi s očekávaným výsledkem. K libovolnému kroku testu můžeme přidat řadu tvrzení poskytnutých SoapUI. Každý typ tvrzení se zaměřuje na konkrétní ověření odpovědi, například na odpovídající text, porovnání XPATH nebo bychom mohli také psát dotazy na základě naší potřeby.
Když se kroky testu provedou, pak související aserce obdrží odpověď na příslušné kroky testu. Pokud některá odpověď selže, bude zpracováno příslušné tvrzení a odpovídající testovací krok bude označen jako neúspěšný. Toto oznámení lze zobrazit v zobrazení testovacího případu. Můžeme také najít neúspěšné kroky testu v protokolu provádění testu. Obrazovka s tvrzením o kroku testu vzorku vypadá níže:
Na výše uvedeném obrázku některé z testovacích kroků selhaly a některé z nich prošly. Důvodem je tvrzení.
Jak jsme diskutovali dříve, pokud podmínka prosazení není splněna s očekávanými výsledky, pak je výsledek FAILED.
Práce s různými druhy tvrzení v SoapUI
Podívejme se, jak pracovat s různými typy tvrzení, jako jsou:
- Obsahuje a neobsahuje tvrzení
- XPath zápas a
- XQuery shoda tvrzení.
Nejprve potřebujeme platné umístění schématu WSDL.
Postupujte podle následujících pokynů:
Krok 1. Vytvořte nový projekt SOAP stisknutím kombinace kláves CTRL + N a postupujte podle pokynů. Po vytvoření projektu SOAPUI vygeneruje seznam rozhraní a odpovídající požadavky.
Krok 2. Chcete-li do tohoto projektu přidat testovací sadu, postupujte takto:
- Klikněte pravým tlačítkem na název rozhraní MedicareSupplierSoap
- Klepněte na Generovat Testsuite možnost z místní nabídky
- Klikněte na OK v níže zobrazeném okně:
- V dalším vyskakovacím okně musíte zadat požadovaný název testovací sady a kliknout na OK
- SOAPUI PRO vygeneruje testovací sadu spolu s požadavky v navigačním panelu.
- Pod testovací sadou uvidíte některé z testovacích kroků s krokem požadavku SOAP.
Krok 3. Chcete-li provést tuto testovací sadu, poklepejte na krok požadavku a zadejte vstupní hodnotu v příslušném umístění. Například otevřít GetSupplierByCity požádat a vstoupit New York mezi městskými značkami.
- Spusťte tento požadavek kliknutím na ikonu RUN - obdržíte odpověď.
- Nyní přidáme tvrzení. Klikněte na ikonu Tvrzení karta v horní části záložek protokolu.
- Po kliknutí pravým tlačítkem se zobrazí rozbalovací nabídka s některými základními možnostmi souvisejícími s tvrzeními, jak je uvedeno níže:
# 1) Obsahuje tvrzení
Klikněte na možnost Přidat tvrzení nebo na ni na panelu nástrojů - Přidat tvrzení Na obrazovce se zobrazí okno s různými typy tvrzení.
1. Klepněte na Obsah nemovitosti Zobrazí se kategorie ze seznamu - přidružené typy tvrzení a jejich popis
2. Klepněte na Obsahuje tvrzení a klikněte na tlačítko Přidat
3. Toto je okno konfigurace tvrzení. Zde musíme určit očekávanou podmínku na základě odpovědi.
Pro příklad je, dovolte mi vstoupit New York text v tomto textovém poli. Ignorovat případ ve srovnání zaškrtávací políčko bude ignorováno, i když je očekávaná hodnota velká nebo malá.
4. Nyní proveďte testovací sadu a ověřte výsledky. Jak jste viděli v okně testovací sady, zelená označuje úspěšné provedení a červená označuje selhání.
# 2) Neobsahuje tvrzení
Pro ověřování požadavků v negativních scénářích můžeme použít tvrzení „neobsahuje“. Můžeme použít GetSupplierByZipCode žádost se to naučit.
Dvojitým kliknutím otevřete kartu požadavku. V požadavku na zadání zadejte neplatné PSČ na příslušném místě, například 10029 . Spusťte tento požadavek nyní. Zkontrolujte data odpovědí s podrobnostmi dodavatele pro dané PSČ - podívejte se na obrázek níže:
(Klikněte na obrázek pro zvětšení)
Tvrzení „neobsahuje“ je při úspěšném provedení zvýrazněno zelenou barvou.
V konfiguračním okně jsme nakonfigurovali kladnou očekávanou hodnotu, jak je uvedeno níže:
Vrátí hodnotu true, pokud není nalezena očekávaná podmíněná hodnota, a vrátí hodnotu false, pokud je ve zprávě s odpovědí nalezena očekávaná hodnota.
Podobně můžeme změnit podmínku a znovu spustit požadavek. Podle toho generuje výsledky.
# 3) XPath Match Assertion
XPath shoda tvrzení je trochu odlišná, pokud jde o to, že bude prosazovat odpověď pomocí skutečných dat odpovědi.
Například , pokud máme webovou službu pro ověřování přihlášení, která ověří pověření uživatele a odešle potvrzení klientovi s některým booleovským typem dat, která mohou být PRAVDA nebo NEPRAVDA ve formě XML.
Jak víte, dokumenty XML jsou vytvářeny značkami. Při zadávání očekávané hodnoty v konfiguraci by tedy měla být ve formě XML.
otázky na pohovor o agilní metodě skrumáže
Zkusme to udělat:
Přidejte ještě jedno tvrzení pro GetSupplierByCity žádost. V okně Přidat tvrzení klikněte na Obsah nemovitosti kategorie a poté klikněte na XPath zápas tvrzení.
Zobrazí se níže uvedené okno:
Horní část je deklarační část a dolní část je část očekávaného výsledku.
Když klikneme na Prohlásit možnost získáme některé automaticky generované deklarační skripty, jako je níže:
deklarovat obor názvů soap = „http: //schemas.xmlsoap.org/soap/envelope/“;
deklarovat jmenný prostor ns1 = „http: //www.webservicex.net/“;
Ve výše uvedených skriptech první řádek označuje odpověď, která by měla být data XML a uzavřené značky SOAP. Na dalším řádku bude celá odpověď přiřazena nebo zkopírována do souboru ns1 proměnná jmenného prostoru během provádění. Pokud chceme filtrovat konkrétní data z celé odpovědi, musíme přidat následující skript.
// ns1: SupplierData (1)
Jak víte, pokud provedete GetSupplierByCity žádost, předloží odpověď obsahující seznam osobních údajů dodavatele, ke kterému patří New York City .
Zde jsme použili XPath Match výraz k získání osobních údajů konkrétního dodavatele z hromadné odpovědi. Za tímto účelem jsme použili ns1 proměnná. Nyní klikněte na Vyberte z aktuálního knoflík.
Pak SOAPUI generuje následující výsledek:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Viz tento snímek obrazovky:
Zde v datech odpovědí vidíte pouze jeden osobní údaj dodavatele. Na základě čísla, které je uvnitř hranatých závorek, bude vygenerován výstup.
Zatím jde o výběr části odezvy, která je požadována, jak můžeme / používáme XPath Match tvrzení?
Pojďme k tomu: Jakmile budete s odpovědí v pořádku, klikněte na tlačítko Uložit.
Zpočátku, pokud byste tuto službu provedli po nakonfigurování výrazu shody XPath beze změn, bude výsledkem úspěšná odpověď se zeleným zvýrazněním stavu.
Pojďme však změnit vstupní parametr ve vstupním požadavku na něco, co je neplatné město - „XYZ nebo ABC“. Spusťte požadavek a zkontrolujte výsledky i stav tvrzení. Dostaneme odezvu na selhání a červenou indikaci stavu pro tvrzení. Protože jsme již určili, že konkrétní data dodavatele by měla být přítomna v odpovědi služby v očekávané konfiguraci výsledku a když je název města neplatný, tento dodavatel zjevně není přítomen.
Takto můžeme prosadit odpověď XML pomocí výrazu XPath Match výraz. Souhlasíme, že je to na začátek poměrně jednoduché, ale pokud se pokusíte s různými odpověďmi na služby, získáte mnohem lepší představu.
Můžeme také použít agregační funkce ve výrazu XPath Match. Jsou to Sum, Min, Max, Count a Avg.
Například , pokud chceme znát celkový počet dodavatelů v očekávaných výsledcích, napište následující skript.
count (// ns1: SupplierData) a vrátí se 536 jako výsledek. Pamatujte, že všechny agregační funkce by měly být psány malými písmeny.
# 4) XQuery Match Assertion
To je trochu podobné tvrzení XPath Match. Jak jsme viděli v konfiguraci tvrzení XPath Match, budou zde dvě sekce - deklarace a očekávaný výsledek.
- Přidejte pro požadavek tvrzení XQuery Match
- V konfiguračním okně klikněte na prohlásit tlačítko a napište následující skript
- Nyní klikněte Vyberte z Aktuální knoflík
- SOAPUI generuje odpověď pro skript
Výraz XQuery také podporuje výraz XPath Match, ale má svou vlastní skriptovací syntaxi, kterou nelze použít v deklaraci shody XPath.
Například :
Uvidíme jeden příklad načtení všech odpovědí na data dodavatele pomocí výrazu XQuery. Podívejte se na tento ukázkový snímek obrazovky, abyste lépe porozuměli.
Aktuální scénář:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
Ve výrazu XQuery je k dispozici více integrovaných funkcí. Oni jsou kam se objednat, pro, vrátit a tak dále.
Závěr
To jsou pro vás nejčastěji používaná tvrzení.
Zde je třeba zdůraznit, že: Tvrzení jsou nejdůležitější pro přesnou předpověď očekávaného výsledku webových služeb. Z tohoto důvodu je to jeden z klíčových funkce v SOAPUI PRO .
Další výukový program : V dalším výukovém programu získáme groovy se základy skriptování a dalšími…
Zůstaňte připojeni. Jako vždy jsou vaše komentáře, dotazy a návrhy vítány.
Doporučené čtení
- Jak provádět testování řízené daty v SoapUI Pro - SoapUI Tutorial # 14
- 15+ SoapUI Tutorials: The Best Web Services API Testing Tool
- Výukové programy pro zatmění do hloubky pro začátečníky
- Jak používat vlastnosti v SoapUI Groovy Script - SoapUI Tutorial # 7
- 7 Důležité funkce SoapUI a SoapUI Pro - výuka 2
- Práce s vlastnostmi SoapUI - SoapUI Tutorial # 8
- 4 důležité funkce SoapUI Pro pro profesionální publikum - SoapUI Tutorial # 12
- Krok za krokem Proces stahování a instalace SoapUI - SoapUI Tutorial # 3