understanding assertions soapui soapui tutorial 5
Radili smo na osnovama poput SoapUI-a stvaranje projekata, dodavanje WSDL-a, slanje zahtjeva i primanje odgovora i generiranje testnih sredstava koja će do sada ići zajedno s njima.
U ovom petom vodiču za SoapUI naučit ćemo sve o tvrdnjama u SoapUI. Toplo vam preporučujemo da pratite kompletnu seriju treninga SoapUI na ovoj stranici naučiti sve ove osnovne značajke.
Što ćete naučiti:
Uvod u tvrdnje
Kao i kod bilo kojeg testiranja, i mi moramo usporediti što želimo da sustav radi i što zapravo radi, da bismo došli do određene provjere valjanosti ili tvrdnje, koja se tako naziva u kontekstu web usluga. Kao testerima, nije važno jesmo li izvršili 1000 ili čak milijun testnih koraka, ali za nas je usporedba rezultata ono što određuje ishod testa.
Stoga ćemo potrošiti cijeli ovaj članak na razumijevanje kako to možemo učiniti pomoću SoapUI-a, iako se web usluge mogu tvrditi ručno. Također, ručna tvrdnja oduzima puno vremena kada postoji više odgovora i odgovora s velikim podacima. Tvrdnje SoapUI izvrsne su za prevladavanje ovih nedostataka.
SOAPUI tvrdnje usporedite dijelove / sve poruke odgovora s očekivanim ishodom. U bilo koji testni korak možemo dodati razne tvrdnje koje pruža SoapUI. Svaka vrsta tvrdnji cilja određene provjere valjanosti odgovora, poput podudaranja teksta, usporedbe XPATH-a ili bismo mogli pisati upite na temelju svojih potreba.
Kada se testni koraci izvrše, tada povezane tvrdnje dobivaju odgovor za odgovarajuće testne korake. Ako bilo koji odgovor ne uspije, obrađuje se odgovarajuća tvrdnja i odgovarajući testni korak označava se neuspjelim. Ova se obavijest može pregledati u prikazu testnog slučaja. Također, neuspjele korake testa možemo pronaći u zapisniku izvršenja testa. Zaslon za potvrdu uzorka testnog koraka izgleda kao dolje:
Na gornjoj slici neki su testni koraci NEUSPJEH, a neki od njih PROLAZI. Razlog je tvrdnja.
Kao što smo ranije razgovarali, ako uvjet uvjeravanja nije zadovoljen s očekivanim rezultatima, rezultat je neuspješan.
Rad s različitim vrstama tvrdnji u SoapUI
Pogledajmo sada kako raditi s različitim vrstama tvrdnji poput:
- Sadrži i ne sadrži tvrdnje
- XPath podudaranje i
- Tvrdnje o podudaranju XQueryja.
Prvo, trebamo valjano mjesto WSDL sheme.
Slijedite korake u nastavku:
Korak 1. Stvorite novi SOAP projekt pritiskom na CTRL + N i slijedite korake. Nakon stvaranja projekta, SOAPUI generira popis sučelja i odgovarajuće zahtjeve.
Korak 2. Da biste dodali testni paket ovom projektu, slijedite ove korake:
- Desnom tipkom miša kliknite naziv sučelja MedicareSupplierSoap
- Klik Generiraj testsuite opcija iz kontekstnog izbornika
- Kliknite U redu u donjem prozoru koji se otvori:
- U sljedećem skočnom prozoru morate unijeti željeni naziv paketa za testiranje i kliknite U redu
- SOAPUI PRO generirat će testni paket zajedno sa zahtjevima na navigacijskoj ploči.
- Ispod paketa za testiranje vidjet ćete neke od koraka za testiranje sa korakom zahtjeva SOAP.
3. korak Da biste izvršili ovaj testni paket, dvokliknite korak zahtjeva i navedite ulaznu vrijednost na odgovarajućem mjestu. Na primjer, otvori GetSupplierByCity zatražite i unesite New York između gradskih oznaka.
- Započnite ovaj zahtjev klikom na ikonu RUN - primit ćete odgovor.
- Dodajmo sada tvrdnje. Za to kliknite Tvrdnje kartica prisutna na vrhu kartica dnevnika.
- Kada kliknete desnom tipkom miša, pojavit će se skočni izbornik s nekim osnovnim opcijama vezanim uz tvrdnju kao u nastavku:
# 1) Sadrži tvrdnju
Kliknite opciju Dodaj tvrdnju ili je kliknite na alatnoj traci - Dodajte tvrdnju na ekranu se pojavljuje prozor s različitim vrstama tvrdnji.
1. Kliknite Sadržaj svojstva kategorija s popisa povezanih vrsta tvrdnji i prikazuje se njihov opis
2. Kliknite Sadrži tvrdnju i kliknite gumb Dodaj
3. Ovo je prozor za konfiguraciju tvrdnje. Ovdje sami moramo odrediti očekivano stanje na temelju odgovora.
Za primjer je, pusti me da uđem New York tekst u ovom tekstualnom polju. Zanemari slučaj u usporedbi potvrdni okvir zanemarit će čak i ako je očekivana vrijednost velika ili mala.
4. Sada izvršite testni paket i provjerite rezultate. Kao što ste vidjeli u prozoru paketa za testiranje, zelena označava uspješno izvršenje, a crvena označava neuspjeh.
# 2) Ne sadrži tvrdnju
Tvrdnju 'ne sadrži' možemo koristiti za provjeru valjanosti zahtjeva u negativnim scenarijima. Možemo koristiti GetSupplierByZipCode zahtjev da se to nauči.
Otvorite karticu zahtjeva dvostrukim klikom na nju. U zahtjev za unos unesite nevaljani poštanski broj na odgovarajuće mjesto, kao što je 10029 . Pokrenite ovaj zahtjev odmah. Provjerite podatke o odgovoru koji sadrže podatke o dobavljaču za zadani poštanski broj - pogledajte donju sliku:
(Kliknite na sliku za uvećani prikaz)
Tvrdnja 'ne sadrži', istaknuta je zelenom bojom jer se uspješno izvršava.
U konfiguracijskom prozoru konfigurirali smo s pozitivno očekivanom vrijednošću kako je prikazano dolje:
Vraća true ako očekivana uvjetna vrijednost nije pronađena, a vraća false ako je očekivana vrijednost pronađena u odgovoru.
Slično tome, možemo promijeniti stanje i ponovno pokrenuti zahtjev. U skladu s tim generira rezultate.
# 3) Tvrđenje podudaranja XPath
Tvrdnja o XPath podudaranju malo se razlikuje u smislu da će odgovor potvrditi koristeći stvarne podatke o odgovoru.
Na primjer , ako imamo web uslugu za provjeru autentičnosti prijave koja će provjeriti autentičnost korisničkih vjerodajnica i poslati potvrdu klijentu s nekom logičkom vrstom podataka koji mogu biti ISTINITI ili LAŽNI u obliku XML-a.
Kao što znate, XML dokumenti grade se pomoću oznaka. Dakle, kada specificirate očekivanu vrijednost u konfiguraciji, ona bi trebala biti u obliku XML-a.
softver za preuzimanje videozapisa s vaše cijevi
Pokušajte to učiniti:
Dodajte još jednu tvrdnju za GetSupplierByCity zahtjev. U prozoru Dodaj tvrdnju kliknite Sadržaj svojstva kategoriju, a zatim kliknite XPath utakmica tvrdnja.
Prikazuje se donji prozor:
Gornji odjeljak je dio deklaracije, a donji dio očekivani rezultat.
Kada kliknemo na Proglasiti opciju ćemo dobiti neke automatski generirane skripte deklaracije poput dolje:
proglasiti sapun prostora prostora = 'http: //schemas.xmlsoap.org/soap/envelope/';
deklarirati prostor imena ns1 = ’http: //www.webservicex.net/’;
U gornjim skriptama, prvi redak označava odgovor koji bi trebali biti XML podaci i zatvorene SOAP oznake. U sljedećem će se retku dodijeliti ili kopirati cijeli odgovor u ns1 varijabla prostora imena tijekom izvođenja. Ako želimo filtrirati određene podatke iz cijelog odgovora, moramo dodati sljedeću skriptu.
// ns1: SupplierData (1)
Kao što znate, ako izvršite GetSupplierByCity na zahtjev će dati odgovor koji sadrži popis osobnih podataka dobavljača kojima pripada New York City .
Evo, koristili smo XPath utakmica izraz za izdvajanje osobnih podataka određenog dobavljača iz skupnog odgovora. U tu svrhu koristili smo ns1 varijabilna. Sada kliknite na Odaberite iz Current dugme.
Tada SOAPUI generira sljedeći rezultat:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Pogledajte ovu snimku zaslona:
Ovdje u podacima o odgovoru možete vidjeti samo jedan osobni podatak dobavljača. Na temelju broja koji je prisutan unutar kutnih zagrada, generirat će se izlaz.
Do sada se ovdje radi o odabiru dijela odgovora koji je potreban, kako možemo / koristimo XPath utakmica tvrdnja?
Dođimo do toga: Kliknite gumb Spremi kada budete u redu s odgovorom.
U početku, ako biste izvršili ovu uslugu nakon konfiguriranja tvrdnje o podudaranju XPath-a bez promjena, rezultat će biti uspješan odgovor, status označen zelenom bojom.
Ali promijenimo ulazni parametar u ulaznom zahtjevu u nešto što je nevaljani grad - 'XYZ ili ABC'. Pokrenite zahtjev i provjerite rezultate kao i status tvrdnje. Dobit ćemo odgovor na neuspjeh i crvenu indikaciju statusa za tvrdnju. Budući da smo već odredili da određeni podaci dobavljača trebaju biti prisutni u odgovoru na uslugu u očekivanoj konfiguraciji rezultata, a kada je naziv grada nevaljan, taj dobavljač očito nije prisutan.
Na ovaj način možemo potvrditi XML odgovor koristeći tvrdnju izraza XPath Match. Složili smo se da je ovo vrlo jednostavno započeti, ali ako pokušate s različitim odgovorima usluge, dobit ćete puno bolju ideju.
Također možemo koristiti agregatne funkcije u izrazu XPath Match. To su Zbroj, Min, Max, Count i Avg.
Na primjer , ako želimo znati ukupan broj dobavljača koji se računa u očekivane rezultate, napišite sljedeću skriptu.
count (// ns1: SupplierData) i ono se vrati 536 kao rezultat. Zapamtite da bi sve agregatne funkcije trebale biti malim slovima.
# 4) Tvrđenje podudaranja XQuery
Ovo je pomalo slično tvrdnji XPath Match. Kao što smo vidjeli u konfiguraciji tvrdnje XPath Match, bit će dva odjeljka - deklaracija i očekivani rezultat.
- Za zahtjev dodajte tvrdnju XQuery Match
- U prozoru za konfiguraciju kliknite proglasiti gumb i napišite sljedeću skriptu
- Sada kliknite Odaberite iz Current dugme
- SOAPUI generira odgovor za skriptu
Izraz XQuery također podržava izraz XPath Match, ali ima vlastitu sintaksu skriptiranja koja se ne može koristiti u tvrdnji XPath match-a.
Na primjer :
Vidjet ćemo jedan primjer za dohvaćanje svih odgovora podataka dobavljača pomoću izraza XQuery. Pogledajte ovaj uzorak snimke zaslona da biste bolje razumjeli.
Stvarna skripta:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
Postoji više ugrađenih funkcija dostupnih za upotrebu u izrazu XQuery. Oni su gdje, naručite po, za, povratak i tako dalje.
Zaključak
Pa, to su najčešće korištene tvrdnje za vas.
Ovdje je naglasak sljedeći: Tvrdnje su najvažnije za precizno predviđanje očekivanih rezultata web usluga. To je razlog što je jedan od ključnih značajke u SOAPUI PRO-u .
Sljedeći vodič : U sljedećem ćemo tutorialu dobiti temeljne osnove skriptiranja i još mnogo toga ...
Molimo vas da ostanete povezani. Kao i uvijek, dobrodošli su vaši komentari, pitanja i prijedlozi.
Preporučena literatura
- Kako izvesti testiranje na temelju podataka u SoapUI Pro - Vodič za SoapUI # 14
- 15+ vodiča za SoapUI: Najbolji alat za testiranje API-ja za web usluge
- Dubinski vodiči za pomračenje za početnike
- Kako koristiti svojstva u SoapUI Groovy Script - Vodič za SoapUI br. 7
- 7 Važne značajke SoapUI i SoapUI Pro - Vodič 2
- Rad sa svojstvima SoapUI - Vodič za br. 8 za SoapUI
- 4 važne značajke SoapUI Pro za profesionalnu publiku - Vodič za SoapUI br. 12
- Korak po korak Postupak preuzimanja i instalacije SoapUI - Vodič za SoapUI br. 3