understanding assertions soapui soapui tutorial 5
Vi har arbejdet med det grundlæggende i SoapUI-lignende oprettelse af projekter, tilføjelse af WSDL, afsendelse af en anmodning og modtagelse af svar og generere testaktiver til at gå sammen med dem hidtil.
I denne 5. SoapUI-tutorial lærer vi alt om påstande i SoapUI. Vi anbefaler dig stærkt at følg den komplette SoapUI træningsserie på denne side at lære alle disse kernefunktioner.
Hvad du lærer:
- Introduktion til påstande
- Arbejde med forskellige slags påstande i SoapUI
- Konklusion
- Anbefalet læsning
Introduktion til påstande
Som med enhver test er vi nødt til at sammenligne, hvad vi ønsker, at systemet skal gøre, og hvad det faktisk laver, for at nå frem til en bestemt validering eller påstand, hvilket er hvad det kaldes i forbindelse med webtjenester. Som testere betyder det ikke noget, om vi udførte 1000 eller endog millioner testtrin, men for os er resultatsammenligningen det, der bestemmer resultatet af en test.
Derfor bruger vi hele denne artikel på at forstå, hvordan vi kan gøre det med SoapUI, selvom webtjenester kan gøres manuelt. En manuel påstand er også tidskrævende, når der er flere svar og svar med store data. Påstande fra SoapUI er fremragende til at overvinde disse mangler.
SOAPUI påstande sammenligne delene / hele svarmeddelelsen med det forventede resultat. Vi kan tilføje en række påstande leveret af SoapUI til ethvert teststrin. Hver type påstand er målrettet mod specifikke valideringer af svaret, såsom matchende tekst, sammenligning af XPATH, eller vi kunne også skrive forespørgsler baseret på vores behov.
Når testtrinene udføres, modtager de tilknyttede påstande svaret for de respektive testtrin. Hvis et svar mislykkes, behandles den respektive påstand, og det tilsvarende testtrin markeres som mislykket. Denne meddelelse kan ses i test case-visningen. Vi kan også finde mislykkede testtrin i testudførelsesloggen. Skærmbilledet om testtestens påstand ser ud som nedenfor:
På ovenstående billede er nogle af testtrinene MISLAGT, og nogle af dem er GÅET. Årsagen er påstanden.
Som vi diskuterede tidligere, hvis hævderbetingelsen ikke er opfyldt med de forventede resultater, mislykkes resultatet.
Arbejde med forskellige slags påstande i SoapUI
Lad os nu se, hvordan man arbejder med forskellige typer påstande som:
- Indeholder og indeholder ikke påstande
- XPath match og
- Påstande om XQuery-match.
For det første har vi brug for en gyldig placering af WSDL-skema.
Følg trinene som nedenfor:
Trin 1. Opret et nyt SOAP-projekt ved at trykke på CTRL + N og følge trinene. Efter oprettelsen af projektet genererer SOAPUI listen over grænseflader og de tilsvarende anmodninger.
Trin 2. Følg disse trin for at tilføje testpakken til dette projekt:
- Højreklik på grænsefladenavnet MedicareSupplierSæbe
- Klik på Generer testsuite indstilling fra genvejsmenuen
- Klik på OK i nedenstående vindue, der kommer op:
- I den næste popup skal du indtaste det ønskede testpakke navn og klikke på OK
- SOAPUI PRO genererer testpakken sammen med anmodningerne i navigatorpanelet.
- Under testpakken vil du se nogle af testtrinene med SOAP-anmodningstrinnet.
Trin 3. For at udføre denne testpakke skal du dobbeltklikke på anmodningstrinnet og angive inputværdien på den respektive placering. Åbn f.eks GetSupplierByCity anmodning og indtast New York mellem bymærkerne.
- Start denne anmodning ved at klikke på KØR-ikonet - dette vil modtage svaret.
- Lad os nu tilføje påstande. For at klikke på Påstande fane til stede øverst på logfaner.
- Ved højreklik vises en popup-menu med nogle grundlæggende påstandsrelaterede muligheder som nedenfor:
# 1) Indeholder påstand
Klik på Tilføj påstand, eller klik på den fra værktøjslinjen - Tilføj påstand vinduet vises på skærmen med forskellige typer påstande.
1. Klik på Ejendomsindhold kategori fra listen - tilknyttede påstandstyper og deres beskrivelse vises
2. Klik på Indeholder påstand, og klik på knappen Tilføj
3. Dette er konfigurationsvinduet for påstanden. Her skal vi selv specificere den forventede tilstand baseret på svaret.
For eksempel er, lad mig komme ind New York tekst i dette tekstfelt. Ignorer tilfældet i sammenligning afkrydsningsfeltet ignoreres, selvom den forventede værdi er med store eller små bogstaver.
4. Udfør nu testpakken, og kontroller resultaterne. Som du har set i testpakkevinduet, indikerer grøn den vellykkede udførelse, og rød angiver fiasko.
# 2) Indeholder ikke påstand
Vi kan bruge 'ikke indeholder' påstand til validering af anmodninger i negative scenarier. Vi kan bruge GetSupplierByZipCode anmodning om at lære det.
Åbn anmodningsfanen ved at dobbeltklikke på den. I indtastningsanmodningen skal du indtaste det ugyldige postnummer på det relevante sted, f.eks 10029 . Kør denne anmodning nu. Kontroller svardata, der indeholder leverandøroplysninger for det givne postnummer - se på billedet nedenfor:
(Klik på billedet for at se det større)
Påstanden 'ikke indeholder', den er fremhævet i grøn farve, da den udføres med succes.
I konfigurationsvinduet har vi konfigureret med positiv forventet værdi som nedenfor:
Det returnerer sandt, hvis den forventede betingede værdi ikke findes, og returnerer falsk, hvis den forventede værdi findes i svarmeddelelsen.
På samme måde kan vi ændre betingelsen og køre anmodningen igen. Det genererer resultaterne i overensstemmelse hermed.
# 3) XPath Match-påstand
Påstand om XPath-match er lidt anderledes med hensyn til, at den vil hævde svaret ved hjælp af faktiske svardata.
For eksempel , hvis vi har en login-godkendelsestjeneste, der godkender brugerlegitimationsoplysningerne og sender kvitteringen til klienten med en eller anden boolsk type data, der kan være SAND eller FALSK i form af XML.
Som du ved, er XML-dokumenter bygget af tags. Så når du specificerer den forventede værdi i konfigurationen, skal den være i form af XML.
qa tester interview spørgsmål og svar pdf
Lad os prøve at gøre det:
Tilføj endnu en påstand til GetSupplierByCity anmodning. Klik på i vinduet Tilføj påstand Ejendomsindhold kategori, og klik derefter på XPath-kamp påstand.
Nedenstående vindue vises:
Den øverste sektion er erklæringsdelen, og den nederste sektion er den forventede resultatdel.
Når vi klikker på Erklære mulighed får vi nogle auto-genererede erklæringsskripter som nedenfor:
erklære namespace soap = ’http: //schemas.xmlsoap.org/soap/envelope/’;
erklære namespace ns1 = ’http: //www.webservicex.net/’;
I ovenstående scripter angiver den første linje det svar, der skal være XML-data og vedlagte SOAP-tags. I den næste linje tildeles eller kopieres hele svaret til ns1 namespace-variabel under udførelsen. Hvis vi vil filtrere bestemte data fra hele svaret, skal vi tilføje følgende script.
// ns1: Leverandørdata [1]
Som du ved, hvis du udfører GetSupplierByCity anmodning, vil det frembringe svaret, der indeholder listen over leverandørens personlige data, der hører til New York City .
Her har vi brugt XPath Match udtryk for at udtrække den specifikke leverandørs personlige oplysninger fra bulkresponset. Til dette formål har vi brugt en ns1 variabel. Klik nu på Vælg fra en strøm knap.
Derefter genererer SOAPUI følgende resultat:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Se dette skærmbillede:
Her i svardataene kan du kun se en leverandørs personlige data. Baseret på antallet, der er til stede inden for vinkelbeslagene, genereres output.
Indtil videre handler det om at vælge den del af svaret, der kræves, hvordan kan / bruger vi XPath Match påstand?
Lad os komme til det: Klik på knappen Gem, når du er OK med svaret.
Oprindeligt, hvis du ville have udført denne tjeneste efter konfiguration af XPath-matchpåstand uden ændringer, vil resultatet blive et vellykket svar, status fremhævet i grønt.
Men lad os ændre inputparameteren i inputanmodningen til noget, der er en ugyldig by - 'XYZ eller ABC'. Kør anmodningen og kontroller resultaterne samt påstandens status. Vi får fejlsvar og rød statusindikation for påstanden. Fordi vi allerede havde specificeret, at de specifikke leverandørdata skulle være til stede i servicesvaret i den forventede resultatkonfiguration, og når bynavnet er ugyldigt, er denne leverandør tydeligvis ikke til stede.
Sådan kan vi hævde XML-svaret ved hjælp af XPath Match-udtryk. Enig om, at dette er ret simpelt til at begynde med, men hvis du prøver med forskellige tjenestesvar, får du en meget bedre idé.
Vi kan også bruge samlede funktioner i XPath Match-udtryk. De er Sum, Min, Max, Count og Gns.
For eksempel , hvis vi vil vide, at det samlede antal leverandører tæller med i de forventede resultater, skal du skrive følgende script.
count (// ns1: SupplierData) og det vender tilbage 536 som resultat. Husk, at alle de samlede funktioner skal være med små bogstaver.
# 4) Påstand om XQuery-match
Dette svarer lidt til påstanden XPath Match. Som vi har set i XPath Match-påstandskonfigurationen, vil der være to sektioner - erklæring og forventet resultat.
- Tilføj påstand om XQuery Match til anmodningen
- Klik på i konfigurationsvinduet erklære knappen og skriv følgende script
- Klik nu Vælg fra Aktuel knap
- SOAPUI genererer svaret til scriptet
XQuery-udtryk understøtter også XPath Match-udtryk, men det har sin egen scriptsyntaks, som ikke kan bruges i XPath-matchpåstand.
For eksempel :
Vi ser et eksempel på at hente alt leverandørdatasvar ved hjælp af XQuery-udtryk. Se på dette eksempelbillede for at forstå det bedre.
Faktisk script:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
Der er flere indbyggede funktioner til rådighed til brug i XQuery-udtryk. De er hvor, bestil efter, til, retur og så videre.
Konklusion
Nå, det er de mest almindelige påstande for dig.
Her lægges vægt på: Påstande er vigtigst for at forudsige det forventede resultat af webservices nøjagtigt. Det er grunden til, at det er en af nøglerne funktioner i SOAPUI PRO .
Næste vejledning : I den næste tutorial får vi groovy med scripting basics og mere ...
Hold kontakten. Som altid er dine kommentarer, spørgsmål og forslag meget velkomne.
Anbefalet læsning
- Sådan udføres datadrevet test i SoapUI Pro - SoapUI Tutorial # 14
- 15+ SoapUI Tutorials: Det bedste testtestværktøj til webtjenester API
- Dybdegående formørkelsesvejledninger til begyndere
- Sådan bruges egenskaber i SoapUI Groovy Script - SoapUI Tutorial # 7
- 7 Vigtige funktioner i SoapUI og SoapUI Pro - Tutorial 2
- Arbejde med SoapUI Properties - SoapUI Tutorial # 8
- 4 Vigtige funktioner i SoapUI Pro for Pro Audience - SoapUI Tutorial # 12
- Trin for trin SoapUI Download- og installationsproces - SoapUI Tutorial # 3