SoapUI Common Assertions
i de to foregående artiklene dekket vi detaljene For Testspesifikke Påstander, som bare gjaldt for en bestemt Type TestCase eller WebService under test. Alle påstandene nevnt i artikkelen «SoapUI Test Spesifikke Påstander: REST Services» gjelder kun FOR REST WebServices og alle påstandene nevnt i artikkelen «SoapUI Test Spesifikke Påstander: SOAP Services» gjelder kun FOR SOAP WebServices. Nå, SoapUI gir noen andre påstander også, som gjelder for BÅDE SÅPE og HVILE tjenester og er kjent som SoapUI Felles Påstander. I denne artikkelen vil vi forstå bruken av alle de vanlige påstandene ved å dekke detaljene under følgende emner:
- Hva er de vanlige Eiendomsinnhold Påstandene I SoapUI?
- Hva Er Inneholder Påstand I SoapUI?
- I Tillegg, Hva Er Ikke Inneholder Påstand I SoapUI?
- Hva Er XPath Påstand I SoapUI?
- Hva Er XQuery Match Assertionin SoapUI?
- På Samme måte, hva er de vanlige Compliance, Status, Og Standard Påstander I SoapUI?
- Hva ER HTTP Statuskoder påstander levert Av SoapUI?
- hva er I Tillegg Schema Compliance-påstandene I SoapUI?
- Hva er de vanligste SLA Påstandene I SoapUI?
da alle disse påstandene gjelder FOR BÅDE SOAP og REST-tjenester, bruker vi følgende informasjon for validering av alle disse påstandene:
- REST-prosjektet opprettet VED HJELP AV URI: «http://bookstore.toolsqa.com/BookStore/v1/Books «OG SOAP-prosjektet opprettet VED HJELP AV WSDL:» http://bookstore.toolsqa.com/BookStoreService.wsdl «i henhold til detaljene nevnt i artikkelen» SoapUI: Arbeide Med Prosjekter.»
- du kan referere til prøveutgangen TIL REST-prosjektet fra artikkelen «SoapUI Test Specific Assertions: REST Services», og prøveutgangen til SOAPUI-prosjektet fra artikkelen «SoapUI Test Specific Assertions: SOAP Services».
hva er De vanlige Påstandene Om Eiendomsinnhold i SoapUI?
Som vi allerede vet, validerer Påstandene Om Egenskapsinnhold innholdet i det mottatte svaret. SoapUI gir flere innhold påstander som gjelder for BÅDE SOAP og REST forespørsler. La oss se i avsnittene nedenfor, hvordan vi kan bruke disse påstandene?
Hva Er Inneholder Påstand I SoapUI?
Inneholder Påstand søker etter eksistensen av en streng token i egenskapsverdien.
Tenk på et scenario som I Bokhandelstjenesten, må vi sjekke om en bok med forfatternavnet «Richard E. Silverman» eksisterer?La oss følge trinnene som er nevnt nedenfor for å validere det samme ved hjelp av» Inneholder » påstand:
- naviger først til Dialogboksen Legg Til Påstand. Deretter klikker du på» Inneholder «påstand under kategorien» Eiendomsinnhold «påstand, som fremhevet nedenfor:
- For Det Andre, klikk på» Legg til » – knappen, og den vil vise dialogboksen «Inneholder Påstand», som vist nedenfor:
-
For Det Tredje, skriv inn navnet på forfatteren «Richard E. Silverman» i «Innhold» – delen. Det er søkestrengen du vil validere i Svaret Til WebService.
-
For Det Fjerde, i dialogboksen ovenfor, vil du se to avmerkingsbokser også. De er:
- Ignorer sak: Hvis Du merker Av For Ignorer sak, valideres strengen ved å ignorere saken. Anta at du skriver «richARD E. SilVerMan» I Innholdstekstboksen og merk av for» Ignorer saken i sammenligning». I tillegg vil det ignorere saken og vil bare sjekke for verdien av strengen som er angitt.
så vil påstanden passere som tegnene i strengen er de samme hvis vi ignorerer saken.
- Regulært Uttrykk: Hvis du vil validere utdataene basert på En RegEx, kan du merke av i Denne Boksen og deretter angi ditt regulære uttrykk i Innholdsdelen. SoapUI følger de vanlige uttrykksmønstrene som er angitt Av Oracle, for eksempel hvis vi vil validere at book service-svaret inneholder «O ‘ Reilly» i svaret, kan du spesifisere».O ‘ Reilly.»Som En RegEx I Innholdsdelen, som vist nedenfor:
Så kan vi validere eksistensen av en streng i Responsen Til WebService Ved Å bruke Inneholder påstand, og vi kan bruke dette for BÅDE SOAP Og REST Webservices.
Hva Er Ikke Inneholder Påstand I SoapUI?
I motsetning Til Inneholder påstand, Søker ikke inneholder påstand for ikke-eksistensen av en streng i egenskapsverdien. Videre vil denne påstanden passere hvis svaret ikke inneholder den angitte verdien.
la oss anta; vi vil validere at Det ikke er Noen Bok med tittelen «Groovy Book» i svaret fra book store-tjenesten, vi kan bruke denne påstanden til å validere Svaret Fra BookStore API.
la oss følge trinnene som er nevnt nedenfor for å validere det samme ved å bruke» Ikke Inneholder «påstand:
- for det første, naviger Til Add Påstand dialogboks og klikk på» Ikke Inneholder «påstand under» Eiendomsinnhold » påstand kategori, som uthevet nedenfor:
-
For Det Andre, klikk på» Legg til » – knappen, og den vil vise dialogboksen «NotContains Påstand», som vist nedenfor:
-
For Det Tredje, skriv inn navnet på strengen «Gro Book «i» Innhold » – delen. Det er søkestrengen du vil validere som ikke finnes i Svaret Til WebService.
Merk: de to boksene (Ignorer Saken & RegEx) fungerer her på samme måte som De var Med Inneholder påstanden.
- For Det Fjerde vil klikke PÅ» OK » – knappen utføre påstanden mot WebService-svaret og vise resultatet, som vist nedenfor:
- Så, så lenge strengen ikke er tilstede i svaret til måltjenesten, vil påstanden passere.
Hva Er XPath Match Påstand I SoapUI?
xpath-samsvarserklæringen tillater deg å bruke Et xpath-uttrykk for å velge innholdet fra målresponsets spesifikke node og sammenligne det med verdien du forventer.
Anta at DU vil validere AT ISBN av den første boken som er tilstede i Svaret Til BookStore API, ikke er null. Vi kan raskt validere det samme ved Hjelp Av xpath-påstanden.
la oss følge trinnene nevnt nedenfor for å validere det samme ved hjelp Av» XPath Match » påstand:
- for det Første, naviger Til Add Påstand dialogboks. Etter det, klikk på» XPath Match «påstand under» Eiendomsinnhold » påstand kategori, som fremhevet nedenfor:
- For det Andre, klikk på» Legg til » – knappen, og den vil vise dialogboksen «Xpath Match Configuration», som vist nedenfor:
Hvor,
-
Erklære: Ved Å Klikke på denne knappen henter og fyller navneområdet automatisk. Hvis du er sikker på detaljene i navneområdet, kan du skrive det manuelt, ellers klikker du bare på» Declare » – knappen, og den vil fylle ut navneområdets detaljer som vist nedenfor:
- navneområdet FOR SOAP-tjenesten vil bli fylt ut, som vist nedenfor:
- på Samme måte vil navneområdet FOR REST-tjenesten fylles ut, som vist nedenfor:
etter å ha erklært navneområdet, kan vi spesifisere XPATH av ønsket node I XPath-Uttrykket.
- DU kan angi ET EKSEMPEL XPATH «//Ns1:BooksResult/ns1:Books/ns1:CustomBookModel/ns1:Isbn» FOR SOAP-tjenesten som vist nedenfor:
På Samme måte kan DU angi ET EKSEMPEL XPATH «//ns1:books//ns1: e / ns1: isbn » FOR REST-tjenesten som vist nedenfor:
Merk bruken av navneområde ns1 i begge tilfeller. For å få tilgang til nodene, er bruk av navneområdet obligatorisk.
- Velg fra nåværende: ved å klikke på denne knappen, vil den automatisk velge verdien av noden som nevnt ovenfor I Forventet Resultat-delen,som er isbn i ovennevnte tilfelle. I tillegg vil den velge verdien av node isbn som «9781449325862». Hvis du ikke vil velge verdien automatisk ved å klikke på denne knappen, kan du til og med skrive inn det forventede resultatet manuelt også.
- Test: ved å klikke på» Test » – knappen, kan du teste utgangen, hvis påstanden går, vil den vise under suksessvarselet :
Eller hvis påstanden mislykkes, kaster Den Feil Og viser en dialogboks, som vist nedenfor:
- Valgfrie Avmerkingsbokser: Delen Forventet Resultat gir også noen avmerkingsbokser, noe som gir ekstra hjelp til å validere påstanden. La oss forstå detaljene i disse boksene:
- Tillat Jokertegn: Hvis verdien vi vil validere endres dynamisk i målresponsen, kan vi bruke jokertegn til å validere svaret. Anta at hvis vi vurderer at isbn av 1. bok alltid slutter med «862», så kan vi bruke Jokertegnet *» 862″, som vil validere at isbn alltid slutter med»862″. Det vil vises I Delen Forventet Resultat som:
- Ignorer navneområdeprefiks Avkrysningsruten: Hvis vi vil ignorere navneområdeprefikset mens vi validerer svaret, kan vi gjøre det ved å merke av i denne boksen.
- Ignorer XML-Kommentarer: Hvis vi vil ignorere kommentarene i svaret, kan vi oppnå dette ved å merke av i denne boksen.
- etter å ha utforsket alle alternativene ovenfor, klikk På Lagre-knappen for å lagre påstanden. Det skal passere som påstanden og vil få den forventede Isbn som «9781449325862». Følgelig vil det vise prøveutgangen som følger:
Hva Er XQuery Match Assertionin SoapUI?
XQuery-Kampen er ganske lik XPath-påstanden, med den eneste forskjellen at Den bruker Et xquery-uttrykk og sammenligner det med resultatet du forventer.
Vurder et scenario anta at du vil validere alle» Titlene » Av Bøkene som er tilgjengelige i svaret, uavhengig av rekkefølgen de eksisterer i. Du kan skrive en enkel XQuery og så er du god til å gå.
la oss følge trinnene som er nevnt nedenfor for å validere det samme ved hjelp Av» XQueryMatch » påstand:
- naviger Først Til Dialogboksen Legg Til Påstand. Etter det, klikk på» XQuery Match «påstand under» Eiendomsinnhold «påstand kategori, som fremhevet nedenfor:
- For det Andre, klikk på «Legg til» – knappen, og den vil vise dialogboksen «XQuery Match Configuration», som vist nedenfor:
Hvor,
- XQuery Expression: Dette Er xquery-uttrykket som du må spesifisere for å trekke ut verdien fra Responsen Til WebService. For Eksempel, for Å få Tittelen på alle bøkene, kan Vi spesifisere XQuery-uttrykket som følger:
<Result>{for$z in //*:CustomBookModelreturn (<Title>{data($z/*:Title)}</Title>)}</Result>
i kodebiten ovenfor:
-
<Result>
er taggen der vil lagre resultatet basert På XQuery-responsen. Videre kan det være noen tag basert på brukerens valg. - I Tillegg gjentar vi svaret ved hjelp av for loop, og $z er en variabel, som vil få verdien fra
<CustomBookModel>
. - //. angir roten Til CustomBookModel, du kan også navigere Ved Hjelp Av Navneområde og deretter angi navneområdet i stedet for**»//.».***
- i tillegg til det ovennevnte, returnerer «return» – funksjonen verdien av
<Title>
– taggen. - funksjonen» data » returnerer også dataene for hver tittelkode i
<CustomBookModel>
– taggen.
2) Velg fra nåværende: Klikk på knappen for å velge gjeldende verdi fra svaret som per nevnte XQuery.
3) Forventet Resultat: Etter å ha klikket på» Velg fra nåværende » – knappen, vil den returnere alle titlene fra svaret til tjenesten. Du kan også angi forventet resultat manuelt.
4) Ved Å Klikke på» Test «knappen vil vise suksess respons, som vist nedenfor:
- Ved Å Klikke på» OK » – knappen vises den gyldige utførelsen av påstanden.
hva er Vanlige Krav Om Samsvar, Status og Standard I SoapUI?
som de vanlige påstandene Fra SoapUI under Delen» Eiendomsinnhold», gir det også noen påstander under kategorien» Compliance, Status And Standard » påstander, som er vanlige for BÅDE SOAP Og REST Webservices. La oss forstå detaljene i alle disse påstandene i følgende avsnitt:
HVA ER HTTP Statuskoder påstander levert Av SoapUI?
SOM VI alle vet, REPRESENTERER HTTP-Statuskodene om EN HTTP-forespørsel er fullført eller ikke. Alle disse svarkoder generelt delt inn i følgende kategorier:
1 | 1xx: Informative: disse statuskodene representerer mottak av forespørselen og dens behandling. |
2 | 2xx: Suksess: disse statuskodene representerer at handlingen ble mottatt, behandlet og akseptert. |
3 | 3xx: Omdirigering: disse statuskodene representerer at det er ytterligere tiltak som kreves for å fullføre forespørselen. |
4 | 4xx: Klientfeil: disse statuskodene representerer at forespørselen inneholder feil syntaks, eller det er noe galt med vår forespørsel. |
5 | 5xx: Serverfeil: disse statuskodene representerer At Det er En feil På Serversiden, noe som betyr at serveren ikke klarte å oppfylle en gyldig forespørsel. |
For validering av disse statuskoder, SoapUI gir et par påstander. La oss forstå detaljene i disse påstandene i de følgende avsnittene:
Hva er En Gyldig HTTP Statuskoder påstand I SoapUI?
denne påstanden validerer AT HTTP-svarkoden som returneres Av Webservice, ligger i listen Over Forventede HTTP-koder.
Vurder et scenario som For BookStore API, vil vi validere at svarkoden som returneres, alltid er enten 200 eller 201. Vi kan bruke påstanden «Gyldige HTTP Statuskoder» for å validere det samme.
la oss følge trinnene nevnt nedenfor for å validere det samme ved hjelp av «Gyldige HTTP Statuskoder» påstand:
- Naviger Til Legg Til Påstand dialogboks og klikk på» Valid HTTP Statuskoder «påstand under» Compliance, Status and Standard «påstand kategori, som uthevet nedenfor:
- Klikk på «Legg til» – knappen, og den vil vise dialogboksen «Valid HTTP statuskoder Påstand Configuration», som vist nedenfor:
- i delen» Angi koder » legger du verdier 200, 201. Du kan angi enten en enkelt kode eller en liste over kommaseparerte koder. Ved å klikke PÅ» OK » – knappen vil validere HTTP-statuskodene mot det siste svaret til tjenesten.
Hva er en Ugyldig HTTP Statuskoder påstand I SoapUI?
i motsetning til påstanden «Gyldige HTTP-statuskoder», validerer påstanden «Ugyldige HTTP-statuskoder» at listen «Forventede koder» ikke inneholder HTTP-statuskoden som Returneres av Webservice.
Vurder et scenario som For BookStore API, vil vi validere at svarkoden som returneres, ikke er 401. Vi kan bruke påstanden «Ugyldige HTTP Statuskoder» for å validere det samme.
la oss følge trinnene nevnt nedenfor for å validere det samme ved hjelp av «Ugyldige HTTP Statuskoder» påstand:
- Naviger Til Legg Til Påstand dialogboks og klikk på» Ugyldige HTTP Statuskoder «påstand under» Compliance, Status and Standard «påstand kategori, som uthevet nedenfor:
- Klikk på «Legg til» – knappen, og den vil vise dialogboksen «Ugyldige HTTP-statuskoder Påstandskonfigurasjon», som vist nedenfor:
- i delen» Angi koder » legger du verdier 401. Du kan angi enten en enkelt kode eller en liste over kommaseparerte koder. Ved å klikke PÅ» OK » – knappen vil validere at HTTP-statuskoder ikke eksisterer mot det siste svaret til tjenesten.
Merk: vi kan bruke disse påstandene til BÅDE SOAP og REST endepunkter.
Hva er Schema Compliance-påstandene I SoapUI?
Bortsett fra statuskoder, I SoapUI, kan vi også validere svarmeldingen mot definisjonen I WSDL (SOAP) eller WADL (REST) av måltjenesten under test.
Vurder et scenario som vi raskt vil sjekke om SOAP-svaret vi får, er kompatibelt MED WSDL eller ikke?
la oss følge trinnene som er nevnt nedenfor for å validere det samme ved hjelp av «Schema Compliance» påstand:
- Naviger Til Legg Til Påstand dialogboks og klikk på» Schema Compliance «påstand under» Compliance, Status and Standard «påstand kategori, som uthevet nedenfor:
-
Klikk på «Legg til» – knappen, og den vil vise dialogboksen «Schema Compliance Pastand Configuration», som vist nedenfor:
-
I Konfigurasjonsdialogen fyller DEN automatisk WSDL, som opprettet prosjektet, men hvis du vil spesifisere en ANNEN WSDL, kan du også oppdatere den. Klikk OK for å fortsette.
- Hvis svaret er kompatibelt i henhold til det nevnte skjemaet, vil du se suksessresponsen, som vist ovenfor. Du vil se feilen når det siste svaret ikke er kompatibelt MED wsdl-skjemaet.
Notat: På samme måte kan DU validere svaret FRA REST-tjenesten mot en spesifisert WADL.
Hva er DE vanlige SLA-Påstandene I SoapUI?
SOM vi alle vet, Er EN SERVICE Level Agreement(SLA) generelt referert til som avtalen mellom en tjenesteleverandør og en klient. Avtalen kan klassifiseres etter ulike avtalte egenskaper som tilgjengelighet, kvalitet, responstid, etc. SoapUI gir funksjonalitet for å validere responstiden for en bestemt tjeneste.
Vurder et hypotetisk scenario at den avtalte responstiden for Bokhandelens WebService er mindre enn 4 sekunder. Vi kan validere det samme I SoapUI ved hjelp av» SLA » pastand kategorier.
la oss følge trinnene som er nevnt nedenfor for å validere det samme ved hjelp av» Response SLA «påstand:
- Naviger Til Add Påstand dialogboks og klikk på» Response SLA «påstand under» SLA » påstand kategori, som uthevet nedenfor:
- Klikk pa» Legg til » – knappen, og den vil vise dialogboksen «Response SLA Pastand configuration», som vist nedenfor:
- Angi maksimal tid (i ms), der tjenesten forventer å returnere svaret. For vårt scenario har vi spesifisert 4000 ms. Klikk PÅ OK-knappen for å legge til påstanden. Det vil vise testresultatet, som vist nedenfor:
- Som vi kan se i skjermbildet ovenfor, da responstiden for tjenesten var 1374 ms, så var den under DEN nevnte SLA på 4000 ms og resulterte i en vellykket påstand.
Key Takeaways
- SoapUI gir et bredt spekter av påstander som kan brukes PÅ BÅDE SOAP og REST webtjenester.
- i Tillegg Er få av de vanlige påstandene Inneholde, Ikke Inneholde, Xpath Og XQuery Match, som brukes til validering av svaret på Innholdet I Webservice.
- videre brukes et annet sett med vanlige påstander fra SoapUI til validering AV HTTP-Statuskodene og Skjemaet for Svaret Til WebServices.
- SoapUI gir Også EN SLA-påstand som kan brukes til validering av responstiden for BÅDE SOAP og REST-tjenester.
la oss gå videre til neste artikkel hvor vi vil dykke videre for å forstå hvordan vi kan implementere noen forhåndskrav ved hjelp av «Script-Påstander» I SoapUI.