understanding assertions soapui soapui tutorial 5
Vi har jobbet med det grunnleggende om SoapUI lage prosjekter, legge til WSDL, sende en forespørsel og motta svar og generere testmidler for å følge med så langt.
I denne 5. SoapUI-opplæringen vil vi lære alt om påstander i SoapUI. Vi anbefaler deg på det sterkeste følg den komplette SoapUI-treningsserien på denne siden å lære alle disse kjernefunksjonene.
Hva du vil lære:
- Introduksjon til påstander
- Arbeide med forskjellige slags påstander i SoapUI
- Konklusjon
- Anbefalt lesing
Introduksjon til påstander
Som med alle tester, må vi sammenligne hva vi vil at systemet skal gjøre og hva det faktisk gjør, for å komme til en viss validering eller påstand, som er det det kalles i sammenheng med webtjenester. Som testere spiller det ingen rolle om vi utførte 1000 eller til og med millioner testtrinn, men for oss er resultatsammenligningen det som bestemmer resultatet av en test.
Derfor vil vi bruke hele denne artikkelen på å forstå hvordan vi kan gjøre det med SoapUI, selv om webtjenester kan hevdes manuelt. En manuell påstand er også tidkrevende når det er flere svar og svar med store data. Påstander om SoapUI er utmerkede til å overvinne disse manglene.
SOAPUI påstander sammenligne delene / hele svarmeldingen med forventet utfall. Vi kan legge til en rekke påstander gitt av SoapUI til ethvert testtrinn. Hver type påstand retter seg mot spesifikke valideringer på svaret, for eksempel samsvarende tekst, sammenligning av XPATH, eller vi kan også skrive spørsmål basert på vårt behov.
Når testtrinnene blir utført, mottar de tilknyttede påstandene svaret for de respektive testtrinnene. Hvis noe svar mislykkes, vil den respektive påstanden bli behandlet, og det tilsvarende testtrinnet vil bli merket som mislykket. Dette varselet kan vises i testsaksvisningen. Vi kan også finne mislykkede teststrinn i testutførelsesloggen. Eksemplet på testtrinnets påstandskjerm ser ut som nedenfor:
På bildet ovenfor har noen av teststrinnene MISLYKKET, og noen av dem er GÅTT. Årsaken er påstanden.
Som vi diskuterte tidligere, hvis påstandsvilkåret ikke blir oppfylt med de forventede resultatene, MISLES resultatet.
Arbeide med forskjellige slags påstander i SoapUI
La oss nå se hvordan vi kan arbeide med forskjellige typer påstander som:
- Inneholder og ikke inneholder påstander
- XPath-kamp og
- Påstander om XQuery-match.
For det første trenger vi en gyldig plassering av WSDL-skjema.
Følg trinnene som nedenfor:
Trinn 1. Lag et nytt SOAP-prosjekt ved å trykke CTRL + N og følge trinnene. Etter å ha opprettet prosjektet, genererer SOAPUI listen over grensesnitt og tilhørende forespørsler.
Steg 2. Følg disse trinnene for å legge til testpakken til dette prosjektet:
- Høyreklikk på grensesnittnavnet MedicareSupplierSåpe
- Klikk Generer testsuite alternativ fra hurtigmenyen
- Klikk OK i vinduet nedenfor som kommer opp:
- I neste popup må du skrive inn ønsket testpakke navn og klikke OK
- SOAPUI PRO vil generere testpakken sammen med forespørslene i navigatorpanelet.
- Under testpakken vil du se noen av teststrinnene med SOAP-forespørselstrinnet.
Trinn 3. For å utføre denne testpakken, dobbeltklikk på forespørselstrinnet og spesifiser inngangsverdien på den respektive plasseringen. For eksempel, åpne GetSupplierByCity be om og skriv inn New York mellom bykodene.
- Start denne forespørselen ved å klikke på RUN-ikonet - dette vil motta svaret.
- La oss nå legge til påstander. For å klikke på Påstander fanen øverst på loggfanen.
- Når du høyreklikker, vises en popup-meny med noen grunnleggende påstandsrelaterte alternativer som nedenfor:
# 1) Inneholder påstand
Klikk Legg til påstand alternativ eller klikk på det fra verktøylinjen - Legg til påstand vinduet vises på skjermen med forskjellige typer påstander.
1. Klikk Eiendomsinnhold kategori fra listen - tilknyttede påstandstyper og beskrivelsen av dem vises
2. Klikk Inneholder påstand og klikk Legg til-knapp
3. Dette er påstandskonfigurasjonsvinduet. Her må vi spesifisere forventet tilstand basert på responsen.
For eksempel er, la meg gå inn New York tekst i dette tekstfeltet. Ignorer saken i sammenligning avkrysningsruten vil ignorere selv om den forventede verdien er med store eller små bokstaver.
4. Utfør nå testpakken og verifiser resultatene. Som du har sett i testpakkevinduet, indikerer grønt vellykket utførelse og rødt angir feil.
# 2) Inneholder ikke påstand
Vi kan bruke 'ikke inneholder' påstand for å validere forespørsler i negative scenarier. Vi kan bruke GetSupplierByZipCode be om å få vite det.
Åpne forespørselfanen ved å dobbeltklikke på den. I inngangsforespørselen skriver du inn ugyldig postnummer på riktig sted, for eksempel 10029 . Kjør denne forespørselen nå. Sjekk svardataene som har leverandørinformasjonen for det gitte postnummeret - se på bildet nedenfor:
(Klikk på bildet for forstørret visning)
Påstanden 'ikke inneholder', den er uthevet i grønn farge når den blir utført vellykket.
I konfigurasjonsvinduet har vi konfigurert med positiv forventet verdi som nedenfor:
Det returnerer sant hvis den forventede betingede verdien ikke blir funnet, og returnerer falsk hvis den forventede verdien er funnet i svarmeldingen.
På samme måte kan vi endre tilstanden og kjøre forespørselen igjen. Det genererer resultatene tilsvarende.
# 3) XPath Match-påstand
Påstanden om XPath-kamp er litt annerledes når det gjelder å hevde svaret ved hjelp av faktiske svardata.
For eksempel , hvis vi har en påloggingsautentiseringstjeneste som vil autentisere brukerlegitimasjonen og sende bekreftelsen til klienten med en eller annen Boolsk type data som kan være SANN eller FALSK i form av XML.
Som du vet er XML-dokumenter bygget av koder. Så når du spesifiserer den forventede verdien i konfigurasjonen, bør den være i form av XML.
beste gratis Windows 10 systemoptimerer
La oss prøve å gjøre det:
Legg til en påstand til GetSupplierByCity be om. Klikk på i vinduet Legg til påstand Eiendomsinnhold kategori og klikk deretter XPath-kamp påstand.
Vinduet nedenfor vises:
Den øverste delen er erklæringsdelen og den nederste delen er den forventede resultatdelen.
Når vi klikker på Erklære alternativet får vi noen automatisk genererte erklæringsskript som nedenfor:
erklære namespace soap = ’http: //schemas.xmlsoap.org/soap/envelope/’;
erklære navneområdet ns1 = ’http: //www.webservicex.net/’;
I de ovennevnte skriptene angir første linje svaret som skal være XML-data og vedlagte SOAP-koder. I neste linje vil hele svaret bli tildelt eller kopiert til ns1 namespace-variabel under utførelsen. Hvis vi vil filtrere bestemte data fra hele responsen, må vi legge til følgende skript.
// ns1: SupplierData (1)
Som du vet, hvis du utfører GetSupplierByCity forespørsel, vil den gi svaret som inneholder listen over leverandørens personlige data som tilhører New York City .
Her har vi brukt XPath Match uttrykk for å trekke ut den spesifikke leverandørens personlige detaljer fra bulkresponsen. For det formålet har vi brukt en ns1 variabel. Klikk nå på Velg fra en strøm knapp.
Så genererer SOAPUI følgende resultat:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Se dette skjermbildet:
Her i svardataene kan du bare se én leverandørs personlige data. Basert på antallet som er tilstede i vinkelparentene, vil utgangen genereres.
Foreløpig handler dette om å velge den delen av svaret som kreves, hvordan kan / bruker vi XPath Match påstand?
La oss komme til det: Klikk på Lagre-knappen når du er OK med svaret.
Til å begynne med, hvis du ville ha utført denne tjenesten etter å ha konfigurert XPath-kamp påstand uten endringer, vil resultatet bli et vellykket svar, status uthevet i grønt.
Men la oss endre inngangsparameteren i inngangsforespørselen til noe som er en ugyldig by - 'XYZ eller ABC'. Kjør forespørselen og sjekk resultatene samt påstandsstatusen. Vi får feilrespons og rød statusindikasjon for påstanden. Fordi vi allerede hadde spesifisert at de spesifikke leverandørdataene skulle være til stede i tjenestesvaret i den forventede resultatkonfigurasjonen, og når bynavnet er ugyldig, er den leverandøren tydeligvis ikke til stede.
Slik kan vi hevde XML-svaret ved hjelp av XPath Match-uttrykk. Enig om at dette er ganske enkelt å begynne med, men hvis du prøver med forskjellige tjenestesvar, vil du få en mye bedre ide.
Vi kan også bruke samlede funksjoner i XPath Match-uttrykk. De er Sum, Min, Max, Count og Avg.
For eksempel , hvis vi vil vite det totale antallet leverandører som teller i de forventede resultatene, skriv følgende skript.
count (// ns1: SupplierData) og den kommer tilbake 536 som et resultat. Husk at alle de samlede funksjonene skal være med små bokstaver.
# 4) XQuery Match Assertion
Dette ligner påstanden XPath Match. Som vi har sett i XPath Match-påstandskonfigurasjonen, vil det være to seksjoner - erklæring og forventet resultat.
- Legg til påstand om XQuery Match for forespørselen
- Klikk på i konfigurasjonsvinduet erklære knappen og skriv følgende skript
- Klikk nå Velg fra Gjeldende knapp
- SOAPUI genererer svaret for skriptet
XQuery-uttrykk støtter også XPath Match-uttrykk, men det har sin egen skriptsyntaks som ikke kan brukes i XPath-matchpåstand.
For eksempel :
Vi vil se ett eksempel for å hente alle leverandørdata svar ved hjelp av XQuery uttrykk. Se på dette eksemplet på skjermbildet for å forstå bedre.
Faktisk skript:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
Det er flere innebygde funksjoner tilgjengelig for bruk i XQuery-uttrykk. De er hvor, bestill etter, for, retur og så videre.
Konklusjon
Vel, det er de mest brukte påstandene for deg.
Poenget med vekt her er at: Påstander er viktigst for å forutsi det forventede resultatet av webtjenestene nøyaktig. Det er grunnen til at det er en av nøkkelen funksjoner i SOAPUI PRO .
Neste opplæring : I neste opplæring vil vi bli groovy med grunnleggende om skripting og mer ...
Vennligst hold kontakten. Som alltid er dine kommentarer, spørsmål og forslag hjertelig velkomne.
Anbefalt lesing
- Hvordan utføre datadrevet testing i SoapUI Pro - SoapUI Tutorial # 14
- 15+ SoapUI Tutorials: The Best Web Services API Testing Tool
- In-Depth Eclipse Tutorials For Beginners
- Hvordan bruke egenskaper i SoapUI Groovy Script - SoapUI Tutorial # 7
- 7 Viktige funksjoner i SoapUI og SoapUI Pro - Opplæring 2
- Arbeide med SoapUI Properties - SoapUI Tutorial # 8
- 4 Viktige funksjoner i SoapUI Pro for Pro Audience - SoapUI Tutorial # 12
- Steg for trinn SoapUI nedlastings- og installasjonsprosess - SoapUI Tutorial # 3