understanding assertions soapui soapui tutorial 5
Delali smo na osnovah, kot je SoapUI ustvarjanje projektov, dodajanje WSDL, pošiljanje zahteve in prejemanje odgovorov in ustvarjanje testnih sredstev, ki jih bodo do zdaj spremljali.
V tej 5. vadnici SoapUI bomo izvedeli vse o trditvah v SoapUI. Toplo vam priporočamo sledite celotni seriji izobraževanj SoapUI na tej strani da se naučite vseh teh osnovnih značilnosti.
Kaj se boste naučili:
Uvod v trditve
Kot pri vsakem preizkušanju moramo tudi mi primerjati, kaj želimo, da sistem počne in kaj dejansko počne, da pridemo do določene potrditve ali trditve, ki ji pravimo v okviru spletnih storitev. Kot preizkuševalci ni pomembno, ali smo izvedli 1000 ali celo milijon testnih korakov, vendar je za nas primerjava rezultatov tista, ki določa rezultat testa.
Zato bomo celoten članek porabili za razumevanje, kako lahko to storimo s programom SoapUI, čeprav lahko spletne storitve uveljavljamo ročno. Tudi ročna trditev je zamudna, kadar je več odzivov in odzivov z velikimi podatki. Trditve programa SoapUI so odlične pri premagovanju teh pomanjkljivosti.
Trditve SOAPUI primerjajte dele / vsa odzivna sporočila s pričakovanim izidom. V kateri koli preskusni korak lahko dodamo različne trditve, ki jih ponuja SoapUI. Vsaka vrsta trditve je usmerjena na posebne potrditve odziva, na primer na ujemanje besedila, primerjavo XPATH ali pa bi lahko napisali tudi poizvedbe glede na naše potrebe.
Ko se preizkusni koraki izvedejo, potem povezane trditve prejmejo odgovor za posamezne preskusne korake. Če kateri koli odgovor ne uspe, bo zadevna trditev obdelana in ustrezen preskusni korak bo označen kot neuspešen. To obvestilo si lahko ogledate v pogledu testnega primera. Prav tako lahko v dnevniku izvajanja preizkusa najdemo neuspešne preizkusne korake. Zaslon za uveljavitev preskusnega koraka je videti spodaj:

Na zgornji sliki so nekateri preskusni koraki NESPLAŠILI, nekateri pa MENJALI. Razlog je trditev.
Kot smo že omenili, če pogoj za uveljavitev ni izpolnjen s pričakovanimi rezultati, potem je rezultat NEUSPEL.
Delo z različnimi vrstami trditev v programu SoapUI
Poglejmo zdaj, kako delati z različnimi vrstami trditev, kot so:
- Vsebuje in ne vsebuje trditev
- XPath tekmo in
- Trditve o ujemanju XQuery.
Najprej potrebujemo veljavno lokacijo sheme WSDL.
Sledite spodnjim korakom:
Korak 1. Ustvarite nov projekt SOAP s pritiskom na CTRL + N in sledite korakom. Po izdelavi projekta SOAPUI ustvari seznam vmesnikov in ustrezne zahteve.
2. korak Če želite temu projektu dodati testni paket, sledite tem korakom:
- Z desno miškino tipko kliknite ime vmesnika MedicareSupplierSoap
- Kliknite Ustvari testni paket iz kontekstnega menija
- V spodnjem oknu, ki se odpre, kliknite V redu:

- V naslednjem pojavnem oknu morate vnesti želeno ime preizkusne zbirke in kliknite V redu
- SOAPUI PRO bo ustvaril testni paket skupaj z zahtevami na navigacijski plošči.
- Pod preskusno zbirko boste videli nekaj preizkusnih korakov s korakom zahteve SOAP.
3. korak Če želite zagnati to preskusno zbirko, dvokliknite korak zahteve in določite vhodno vrednost na ustreznem mestu. Na primer, odpri GetSupplierByCity zahtevajte in vnesite New York med mestnimi oznakami.
- Začnite to zahtevo s klikom na ikono RUN - ta bo prejel odgovor.
- Zdaj pa dodajte trditve. Za to kliknite Trditve na vrhu zavihkov dnevnika.
- Z desnim klikom se prikaže pojavni meni z nekaterimi osnovnimi možnostmi, povezanimi s trditvijo, kot spodaj:

# 1) Vsebuje trditev
Kliknite možnost Dodaj trditev ali jo kliknite v orodni vrstici - Dodajte trditev na zaslonu se prikaže okno z različnimi vrstami trditev.
1. Kliknite Vsebina nepremičnine kategorija s seznama povezanih vrst trditev in njihov opis je prikazan
2. Kliknite Vsebuje trditev in kliknite gumb Dodaj
3. To je okno za nastavitev trditve. Tukaj moramo na podlagi odziva določiti pričakovani pogoj.
Za primerpl je, spusti me New York besedilo v tem besedilnem polju. Primer zanemari potrditveno polje bo prezrlo, tudi če je pričakovana vrednost v velikih ali malih črkah.

4. Zdaj izvedite preskusno zbirko in preverite rezultate. Kot ste videli v oknu testne zbirke, zelena označuje uspešno izvedbo, rdeča pa neuspeh.
# 2) Ne vsebuje trditve
Trditev »ne vsebuje« lahko uporabimo za preverjanje zahtev v negativnih scenarijih. Lahko uporabimo GetSupplierByZipCode zahteva, da se tega naučite.
Dvokliknite na zavihek zahteve. V zahtevo za vnos vnesite neveljavno poštno številko na ustrezno mesto, na primer 10029 . Zaženi to zahtevo zdaj. Preverite podatke o odzivu, ki vsebujejo podatke o dobavitelju za dano poštno številko - oglejte si spodnjo sliko:
(Kliknite sliko za povečavo)

Trditev „ne vsebuje“, označena je z zeleno barvo, saj je uspešno izvedena.
V konfiguracijskem oknu smo nastavili s pozitivno pričakovano vrednostjo, kot spodaj:

Vrne true, če pričakovane pogojne vrednosti ni mogoče najti, in false, če je pričakovana vrednost najdena v odzivnem sporočilu.
Podobno lahko spremenimo pogoj in ponovno zaženemo zahtevo. Ustrezno ustvari rezultate.
# 3) Trditev o ujemanju XPath
Trditev o ujemanju XPath se nekoliko razlikuje, ker bo odgovor uveljavil z dejanskimi podatki o odzivu.
Na primer , če imamo spletno storitev za preverjanje pristnosti prijave, ki bo overjala uporabniške poverilnice in potrdilo pošiljala odjemalcu z nekaterimi logičnimi podatki, ki so lahko TRUE ali FALSE v obliki XML.
Kot veste, dokumente XML gradijo oznake. Torej, ko podajate pričakovano vrednost v konfiguraciji, mora biti v obliki XML.
vr slušalke, ki delujejo z xbox one
Poskusite to:
Dodajte še eno trditev za GetSupplierByCity prošnja. V oknu Dodaj trditev kliknite Vsebina nepremičnine in nato kliknite Tekma XPath trditev.

Prikaže se spodnje okno:

Zgornji del je del izjave, spodnji del pa del pričakovanih rezultatov.
Ko kliknemo na Izjavite Možnost bomo dobili nekaj samodejno ustvarjenih skriptov za izjave, kot je spodaj:
prijavite milo za imenski prostor = ’http: //schemas.xmlsoap.org/soap/envelope/’;
prijavite imenski prostor ns1 = ’http: //www.webservicex.net/’;
V zgornjih skriptih prva vrstica označuje odziv, ki naj bodo podatki XML in priložene oznake SOAP. V naslednji vrstici bo celoten odgovor dodeljen ali kopiran v ns1 spremenljivka imenskega prostora med izvajanjem. Če želimo filtrirati določene podatke iz celotnega odziva, moramo dodati naslednji skript.
// ns1: SupplierData (1)
Kot veste, če izvedete GetSupplierByCity na zahtevo izda odgovor, ki vsebuje seznam osebnih podatkov dobavitelja, ki jim pripada New York City .
Tu smo uporabili XPath Match izraz, da iz množičnega odziva izvleče osebne podatke določenega dobavitelja. V ta namen smo uporabili ns1 spremenljivka. Zdaj kliknite na Izberite med trenutno .
Nato SOAPUI ustvari naslednji rezultat:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04 Glejte ta posnetek zaslona:

Tukaj v odzivnih podatkih lahko vidite samo ene osebne podatke dobavitelja. Na podlagi števila, ki je prisotno v kotnih oklepajih, bo ustvarjen izhod.
Do zdaj gre za izbiro dela odgovora, ki je potreben, kako lahko / ali uporabljamo XPath Match trditev?
Pojdimo do tega: Ko ste z odgovorom v redu, kliknite gumb Shrani.
Če bi to storitev izvajali po konfiguraciji trditve o ujemanju XPath brez sprememb, bo rezultat uspešen odgovor, stanje označeno z zeleno.
Spremenimo pa vhodni parameter v vhodni zahtevi v nekaj, kar je neveljavno mesto - »XYZ ali ABC«. Zaženite zahtevo in preverite rezultate ter stanje trditve. Za trditev bomo prejeli odziv na napako in rdeče stanje. Ker smo že določili, da morajo biti podatki določenega dobavitelja prisotni v odgovoru storitve v pričakovani konfiguraciji rezultata, in če je ime mesta neveljavno, ta dobavitelj očitno ni prisoten.
Tako lahko uveljavimo odgovor XML z uporabo trditve izraza XPath Match. Strinjam se, da je za začetek to zelo preprosto, vendar če poskusite z različnimi odzivi storitev, boste dobili veliko boljšo idejo.
V izrazu XPath Match lahko uporabimo tudi sestavljene funkcije. To so vsota, min, največ, štetje in povprečje.
Na primer , če želimo vedeti, koliko skupno število dobaviteljev šteje v pričakovane rezultate, napišite naslednji skript.
count (// ns1: SupplierData) in se vrne 536 kot rezultat. Ne pozabite, da bi morale biti vse sestavljene funkcije napisane z malimi črkami.
# 4) Trditev o ujemanju XQuery
To je nekoliko podobno trditvi XPath Match. Kot smo videli v konfiguraciji trditve XPath Match, bosta dva razdelka - izjava in pričakovani rezultat.
- Za zahtevo dodajte trditev XQuery Match
- V oknu za konfiguracijo kliknite izjavi in napišite naslednji skript
- Zdaj kliknite Izberite trenutno gumb
- SOAPUI ustvari odgovor za skript
Izraz XQuery podpira tudi izraz XPath Match, vendar ima svojo sintakso skript, ki je ni mogoče uporabiti pri uveljavljanju ujemanja XPath.
Na primer :
Videli bomo en primer za pridobivanje vseh odzivov podatkov dobavitelja z uporabo izraza XQuery. Oglejte si ta vzorčni posnetek zaslona, da boste bolje razumeli.

Dejanski scenarij:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x } V izrazu XQuery je na voljo več vgrajenih funkcij. So kje, naročite po, za, vrnite se in tako naprej.
Zaključek
No, to so za vas najpogosteje uporabljene trditve.
Tu poudarjamo naslednje: Trditve so najpomembnejše za natančno napovedovanje pričakovanih rezultatov spletnih storitev. To je razlog, da je eden ključnih funkcije v SOAPUI PRO .
Naslednja vadnica : V naslednji vadnici bomo dobili groov s osnovami skript in še več ...
Ostanite povezani. Kot vedno so tudi vaši komentarji, vprašanja in predlogi zelo dobrodošli.
Priporočeno branje
- Kako izvesti preskušanje na podlagi podatkov v programu SoapUI Pro - Vadnica SoapUI št. 14
- 15+ vadnic za SoapUI: najboljše orodje za testiranje API-jev za spletne storitve
- Vadnice za globinsko zasenčenje za začetnike
- Kako uporabljati lastnosti v skriptu Groapy SoapUI - Vadnica SoapUI št. 7
- 7 Pomembne lastnosti SoapUI in SoapUI Pro - Vadnica 2
- Delo z lastnostmi SoapUI - Vadnica SoapUI št. 8
- 4 Pomembne značilnosti programa SoapUI Pro za občinstvo - Vadnica SoapUI št. 12
- Postopek prenosa in namestitve programa SoapUI - Vadnica št. 3 za SoapUI