december 17, 2021

SoapUI Common Assertions

i de två föregående artiklarna täckte vi detaljerna i Testspecifika påståenden, som endast var tillämpliga för en viss typ av testfall eller webbtjänst under test. Alla påståenden som nämns i artikeln ”SoapUI Test Specific Assertions: REST Services” är endast tillämpliga för REST WebServices och alla påståenden som nämns i artikeln ”SoapUI Test Specific Assertions: SOAP Services” är endast tillämpliga på SOAP WebServices. Nu, SoapUI ger några andra påståenden också, som är tillämpliga för både tvål och vila tjänster och är kända som SoapUI gemensamma påståenden. I den här artikeln kommer vi att förstå användningen av alla dessa vanliga påståenden genom att täcka detaljerna under följande ämnen:

  • vilka är de gemensamma egendom innehåll påståenden i SoapUI?
    • Vad är innehåller påstående i SoapUI?
    • dessutom, Vad är inte innehåller påstående i SoapUI?
    • Vad är XPath påstående i SoapUI?
    • Vad är XQuery Match Assertionin SoapUI?
  • på samma sätt, vilka är de gemensamma kraven på efterlevnad, Status och Standard i SoapUI?
    • vad är HTTP-statuskoder påståenden från SoapUI?
    • dessutom, vad är schemat efterlevnad påståenden i SoapUI?
  • vilka är de vanliga SLA påståenden i SoapUI?

eftersom alla dessa påståenden är tillämpliga för både SOAP och REST-tjänster, kommer vi att använda följande information för validering av alla dessa påståenden:

  • REST-projektet skapat med URI: ”http://bookstore.toolsqa.com/BookStore/v1/Books ”och SOAP-projektet skapat med WSDL:” http://bookstore.toolsqa.com/BookStoreService.wsdl ”enligt detaljerna som nämns i artikeln” SoapUI: arbeta med projekt.”
  • du kan hänvisa till provutgången från REST-projektet från artikeln ”SoapUI Test Specific Assertions: REST Services” och provutgången från SOAP-projektet från artikeln ”SoapUI Test Specific Assertions: SOAP Services”.

vilka är de gemensamma egendom innehåll påståenden i SoapUI?

som vi redan vet validerar Fastighetsinnehållets påståenden innehållet i det mottagna svaret. SoapUI tillhandahåller flera innehållsförklaringar som är tillämpliga för både SOAP-och REST-förfrågningar. Låt oss se i avsnitten nedan, hur vi kan använda dessa påståenden?

Vad är innehåller påstående i SoapUI?

den innehåller påståenden söker efter förekomsten av en strängtoken i egenskapsvärdet.

Tänk på ett scenario som i Bokhandelstjänsten måste vi kontrollera om en bok med författarens namn ”Richard E. Silverman” existerar?Låt oss följa stegen som nämns nedan för att validera samma med” innehåller ” påstående:

  1. navigera först till dialogrutan Lägg till påstående. Därefter klickar du på påståendet” innehåller ”under kategorin” Property Content”, som markeras nedan:

hur man lägger till innehåller Påståendevanligt för både tvål och vila i SoapUI

  1. för det andra, klicka på” Lägg till ” – knappen, och den kommer att visa dialogrutan ”innehåller påstående”, som visas nedan:

innehåller Assertion dialogruta i SoapUI

  1. för det tredje anger du namnet på författaren ”Richard E. Silverman” i avsnittet ”Innehåll”. Det är söksträngen som du vill validera i svaret på webbtjänsten.

  2. för det fjärde, i dialogrutan ovan ser du också två kryssrutor. De är:

  • ignorera fall: om du markerar kryssrutan Ignorera fall valideras strängen genom att ignorera fallet. Antag att du skriver ”richARD E. SilVerMan” i textrutan innehåll och markerar kryssrutan ”Ignorera fall i jämförelse”. Dessutom kommer det att ignorera fallet och kommer bara att kontrollera värdet på den angivna strängen.

IgnoreCase innehåller påstående i SoapUI

så påståendet kommer att passera eftersom tecknen i strängen är desamma om vi ignorerar fallet.

  • Reguljärt uttryck: om du vill validera utdata baserat på en RegEx kan du markera den här kryssrutan och sedan ange ditt reguljära uttryck i avsnittet Innehåll. SoapUI följer de reguljära uttrycksmönstren som anges av Oracle om vi till exempel vill validera att boktjänstsvaret innehåller ”O ’ Reilly” i svaret kan du ange ”.O ’ Reilly.”som en RegEx i Innehållsavsnittet, som visas nedan:

Reguljärt uttryck i Innehåller påstående i SoapUI

så vi kan validera förekomsten av en sträng i svaret på webbtjänsten genom att använda innehåller påstående, och vi kan använda detta för både SOAP och REST Webservices.

Vad är inte innehåller påstående i SoapUI?

i motsats till innehåller påstående, innehåller inte påstående sökningar efter att en sträng inte finns i egenskapsvärdet. Dessutom kommer denna påstående att passera om svaret inte innehåller det angivna värdet.

låt oss anta; vi vill validera att det inte finns någon bok med titeln ”Groovy Book” i svaret från bokhandelstjänsten, vi kan använda detta påstående för att validera svaret från Bokhandel API.

Låt oss följa stegen som nämns nedan för att validera samma med” inte innehåller ”påstående:

  1. för det första, navigera till Add Assertion dialog box och klicka på” inte innehåller ”påstående under” Property Content ” påstående kategori, som markeras nedan:

hur man lägger till inte innehåller påståendevanligt för både tvål och vila i SoapUI

  1. för det andra, klicka på” Lägg till ” – knappen, och den kommer att visa dialogrutan ”NotContains Assertion”, som visas nedan:

  2. för det tredje anger du namnet på strängen ”Groo Book” i avsnittet ”Innehåll”. Det är söksträngen som du vill validera som inte finns i svaret på webbtjänsten.

Obs: de två kryssrutorna (ignorera Case & RegEx) här fungerar på samma sätt, som de var med innehåller påståendet.

  1. för det fjärde kommer att klicka på ”OK” – knappen utföra påståendet mot WebService-svaret och visa resultatet, som visas nedan:

inte innehåller Assertion konfiguration i SoapUI

  1. så, så länge strängen inte är närvarande i svaret från måltjänsten, kommer påståendet att passera.

Vad är XPath Match påstående i SoapUI?

XPath Match assertion tillåter dig att använda ett XPath-uttryck för att välja innehållet från målsvarets specifika nod och jämföra det med det värde du förväntar dig.

Antag att du vill validera att ISBN för den första boken som finns i svaret från BookStore API inte är null. Vi kan snabbt validera detsamma med XPath-påståendet.

Låt oss följa stegen som nämns nedan för att validera samma med” XPath Match ” påstående:

  1. för det första, navigera till Lägg till Assertion dialog box. Därefter klickar du på påståendet ”XPath Match ” under kategorin” Property Content”, som markeras nedan:

hur man lägger till XPath Match AssertionCommon för både tvål och vila i SoapUI

  1. för det andra, klicka på” Lägg till ” – knappen, och det kommer att visa dialogrutan ”XPath Match Configuration”, som visas nedan:

XPath Match Assertion Configurationsvanligt för både tvål och vila i SoapUI

var,

  • deklarera: genom att klicka på den här knappen hämtas och fylls namnrymden automatiskt. Om du är säker på detaljerna i namnrymden kan du skriva det manuellt, annars klickar du bara på” deklarera ” – knappen och det kommer att fylla i namnrymdsinformationen som visas nedan:

    • namnrymden för SOAP-tjänsten kommer att fyllas i, som visas nedan:

förklara namnrymd för SOAP service i XPath match påstående i SoapUI

  • på samma sätt kommer namnrymden för REST-tjänsten att fyllas i, som visas nedan:

deklarera namnrymd för REST service i XPath match assertion i SoapUI

efter att ha förklarat namnrymden kan vi ange XPATH för önskad nod i avsnittet XPath-uttryck.

  • du kan ange ett exempel XPATH ”//ns1:BooksResult / ns1: Books / ns1: CustomBookModel/ ns1: Isbn ”för TVÅLTJÄNSTEN som visas nedan:

ange XPath för en SOAP-tjänst i SoapUI

på samma sätt kan du ange ett exempel XPATH” / / ns1: books/ / ns1: e / ns1: isbn ” för REST-tjänsten som visas nedan:

 specificera XPath för en REST-tjänst i SoapUI

notera användningen av namespace ns1 i båda fallen. För att komma åt noderna är användningen av namnrymden obligatorisk.

  • Välj från nuvarande: genom att klicka på den här knappen väljer den automatiskt nodens värde som nämnts ovan i avsnittet förväntat resultat, vilket är isbn i ovanstående fall. Dessutom kommer det att välja värdet på noden isbn som”9781449325862″. Om du inte vill välja värdet automatiskt genom att klicka på den här knappen kan du även skriva det förväntade resultatet manuellt också.
  • Test: genom att klicka på” Test ” – knappen kan du testa utmatningen, om påståendet passerar kommer det att visa nedanstående framgångsvarning :

XPath Match Test framgång meddelande varning i SoapUI

eller om påståendet misslyckas, kastar fel och visar en dialogruta, som visas nedan:

XpathMatch testfel

  • valfria kryssrutor: avsnittet förväntat resultat innehåller också några kryssrutor, vilket ger ytterligare hjälp med att validera påståendet. Låt oss förstå detaljerna i dessa kryssrutor:
  • Tillåt jokertecken kryssruta: om värdet vi vill validera ändras dynamiskt i målsvaret kan vi använda jokertecken för att validera svaret. Antag att om vi anser att isbn i 1: A boken alltid slutar med ”862”, kan vi använda Jokertecknet *”862″, vilket kommer att validera att isbn alltid slutar med ”862”. Det kommer att visas i avsnittet förväntat resultat som:

Tillåt jokertecken XPath match i SoapUI

  • ignorera namnrymden prefix kryssruta: Om vi vill ignorera namespace-prefixet medan Vi validerar svaret kan vi göra det genom att markera den här kryssrutan.
  • ignorera XML-kommentarer kryssruta: om vi vill ignorera kommentarerna i svaret kan vi uppnå detta genom att markera den här kryssrutan.
  • när du har undersökt alla ovanstående alternativ klickar du på Spara-knappen för att spara påståendet. Det ska passera som påståendet och kommer att få den förväntade Isbn som ”9781449325862”. Följaktligen kommer det att visa provutgången enligt följande:

XPath Match AssertionCommon för både tvål och RESToutput vy i SoapUI

Vad är XQuery Match Assertioni SoapUI?

XQuery-matchen är ganska lik XPath-påståendet, med den enda skillnaden att den använder ett XQuery-uttryck och jämför det med det resultat du förväntar dig.

Tänk på ett scenario Antag att du vill validera alla” titlar ” på de böcker som finns tillgängliga i svaret, oavsett i vilken ordning de finns. Du kan skriva en enkel XQuery och då är du bra att gå.

Låt oss följa stegen som nämns nedan för att validera samma med” XQueryMatch ” påstående:

  1. navigera först till dialogrutan Lägg till påstående. Därefter klickar du på påståendet ”XQuery Match” under kategorin” Property Content”, som markeras nedan:

hur man lägger till XQuery Match Assertionvanligt för både tvål och vila i SoapUI

  1. för det andra, klicka på” Lägg till ” – knappen, och den kommer att visa dialogrutan ”XQuery Match Configuration”, som visas nedan:

XQuery Match Assertion konfiguration gemensam för både tvål och vila i SoapUI

var,

  • XQuery-uttryck: Detta är XQuery-uttrycket som du måste ange för att extrahera värdet från svaret från webbtjänsten. Till exempel, för att få titeln på alla böcker, kan vi ange XQuery-uttrycket enligt följande:
<Result>{for$z in //*:CustomBookModelreturn (<Title>{data($z/*:Title)}</Title>)}</Result>

i ovanstående kodavsnitt:

  • <Result> är taggen som lagrar resultatet baserat på XQuery-svaret. Dessutom kan det vara vilken tagg som helst baserat på användarval.
  • dessutom upprepar vi svaret med for-slingan, och $z är vilken variabel som helst, vilket kommer att få värdet från <CustomBookModel>.
  • //. anger roten till CustomBookModel, du kan också navigera med namnrymd och sedan ange namnrymden istället för **”//.”.***
  • förutom ovanstående returnerar funktionen ”return” värdet på <Title> – taggen.
  • funktionen” data ” returnerar också data för varje titeltagg i <CustomBookModel> – taggen.

2) Välj från nuvarande: Klicka på knappen för att välja det aktuella värdet från svaret enligt den nämnda XQuery.

3) förväntat resultat: efter att ha klickat på knappen ”Välj från aktuell” kommer den att returnera alla titlar från svaret från tjänsten. Du kan också ange det förväntade resultatet manuellt.

4) Genom att klicka på” Test ” – knappen visas framgångssvaret, som visas nedan:

framgångsrik XQuery match påstående i SoapUI

  1. genom att klicka på ”OK” – knappen visas det giltiga utförandet av påståendet.

vilka är de vanliga kraven på efterlevnad, Status och Standard i SoapUI?

liksom de vanliga påståenden som tillhandahålls av SoapUI under avsnittet” Fastighetsinnehåll”, ger det också några påståenden under kategorin” efterlevnad, Status och Standard ” påståenden, som är vanliga för både SOAP och REST Webservices. Låt oss förstå detaljerna i alla dessa påståenden i följande avsnitt:

Vad är http-statuskoder påståenden från SoapUI?

som vi alla vet representerar HTTP-Statuskoderna om en HTTP-begäran är klar eller inte. Alla dessa svarskoder delas i allmänhet i följande kategorier:

1 1xx: information: dessa statuskoder representerar mottagandet av begäran och dess behandling.
2 2xx: framgång: dessa statuskoder representerar att åtgärden har mottagits, bearbetats och accepterats.
3 3xx: omdirigering: dessa statuskoder representerar att det finns ytterligare åtgärder som krävs för att slutföra begäran.
4 4xx: klientfel: dessa statuskoder representerar att begäran innehåller felaktig syntax, eller det är något fel med vår begäran.
5 5xx: serverfel: dessa statuskoder representerar att det finns ett fel på serversidan, vilket innebär att servern misslyckades med att uppfylla en giltig begäran.

för validering av dessa statuskoder, SoapUI ger ett par påståenden. Låt oss förstå detaljerna i dessa påståenden i följande avsnitt:

Vad är en giltig HTTP-statuskoder påstående i SoapUI?

detta påstående validerar att HTTP-svarskoden som returneras av webbtjänsten ligger i listan över förväntade HTTP-koder.

Tänk på ett scenario som För BookStore API vill vi validera att svarskoden som returneras alltid är antingen 200 eller 201. Vi kan använda påståendet ”giltiga HTTP-statuskoder” för att validera detsamma.

Låt oss följa stegen som nämns nedan för att validera samma med” giltiga HTTP-statuskoder ” påstående:

  1. navigera till dialogrutan Lägg till påstående och klicka på påståendet ”giltiga HTTP-statuskoder” under kategorin ”efterlevnad, Status och Standard”, som markeras nedan:

så här lägger du till giltig HTTP-statuskod assertionCommon för både SOAP och REST i SoapUI

  1. klicka på” Lägg till ” – knappen, och den kommer att visa dialogrutan ”giltig HTTP-statuskoder Assertion Configuration”, som visas nedan:

giltig HTTP-statuskod Assertion configurationsCommon för både SOAP och REST i SoapUI

  1. i avsnittet” ange koder ” sätter du värden 200, 201. Du kan ange antingen en enda kod eller en lista med kommaseparerade koder. Genom att klicka på ”OK” – knappen valideras HTTP-statuskoderna mot tjänstens sista svar.

Vad är en ogiltig HTTP-statuskoder påstående i SoapUI?

i motsats till påståendet ”giltiga HTTP-statuskoder” validerar påståendet ”ogiltiga HTTP-statuskoder” att listan ”förväntade koder” inte innehåller HTTP-statuskoden som returneras av webbtjänsten.

Tänk på ett scenario som För BookStore API vill vi validera att svarskoden som returneras inte är 401. Vi kan använda påståendet ”ogiltiga HTTP-statuskoder” för att validera detsamma.

Låt oss följa stegen som nämns nedan för att validera samma med” ogiltiga HTTP-statuskoder ” påstående:

  1. navigera till dialogrutan Lägg till påstående och klicka på påståendet ”ogiltiga HTTP-statuskoder” under kategorin ”efterlevnad, Status och Standard”, som markeras nedan:

så här anger du ogiltig HTTP-statuskod påståendevanligt för både SOAP och REST i SoapUI

  1. klicka på” Lägg till ” – knappen, och den kommer att visa dialogrutan ”ogiltig HTTP-statuskoder Assertion Configuration”, som visas nedan:

ogiltiga HTTP-statuskod Assertion konfigurationer vanliga för både SOAP och REST i SoapUI

  1. i avsnittet” ange koder ” sätter du värden 401. Du kan ange antingen en enda kod eller en lista med kommaseparerade koder. Genom att klicka på ”OK”-knappen valideras att HTTP-statuskoder inte finns mot tjänstens sista svar.

Obs: Vi kan tillämpa dessa påståenden på både SOAP och REST endpoints.

vilka är kraven för Schemaöverensstämmelse i SoapUI?

förutom statuskoder, i SoapUI, kan vi också validera svarsmeddelandet mot definitionen i WSDL(SOAP) eller WADL(REST) för måltjänsten som testas.

Tänk på ett scenario som vi snabbt vill kontrollera om SOAP-svaret som vi får är kompatibelt med WSDL eller inte?

Låt oss följa stegen som nämns nedan för att validera samma med” Schema Compliance ” påstående:

  1. navigera till dialogrutan Lägg till påstående och klicka på påståendet ”Schema Compliance ” under kategorin” Compliance, Status and Standard”, som markeras nedan:

så här lägger du till Schema Compliance Assertionvanligt för både tvål och vila i SoapUI

  1. klicka på” Lägg till ” – knappen, och den kommer att visa dialogrutan ”schema Compliance Assertion Configuration”, som visas nedan:

  2. i konfigurationsdialogrutan fyller den automatiskt WSDL, som skapade projektet, men om du vill ange någon annan WSDL kan du också uppdatera den. Klicka på OK för att fortsätta.

schema efterlevnad påståenden svarsvy i SoapU

  1. om svaret är kompatibelt enligt det nämnda schemat ser du framgångssvaret, som visas ovan. Du kommer att se felet när det sista svaret inte överensstämmer med WSDL-schemat.

notera: På samma sätt kan du validera svaret från REST-tjänsten mot en viss WADL.

vilka är de vanliga SLA påståenden i SoapUI?

som vi alla vet kallas ett servicenivåavtal(SLA) vanligtvis avtalet mellan en tjänsteleverantör och en kund. Avtalet kan klassificeras efter olika överenskomna egenskaper som tillgänglighet, kvalitet, svarstid etc. SoapUI tillhandahåller funktionaliteten för att validera svarstiden för en specifik tjänst.

Tänk på ett hypotetiskt scenario att den överenskomna svarstiden för Bokhandelens webbtjänst är mindre än 4 sekunder. Vi kan validera samma i SoapUI med hjälp av” SLA ” assertion kategorier.

Låt oss följa stegen som nämns nedan för att validera samma med” svar SLA ”påstående:

  1. navigera till Add Assertion dialog box och klicka på” svar SLA ”påstående under” SLA ” påstående kategori, som markeras nedan:

hur man lägger till svar sla assertionCommon för både tvål och vila i SoapUI

  1. klicka på knappen” Lägg till”, och det kommer att visa dialogrutan ”svar SLA Assertion configuration”, som visas nedan:

konfigurera sla assertionCommon för både tvål och vila i SoapUI_0

  1. ange den maximala tiden (i ms), där tjänsten förväntar sig att returnera svaret. För vårt scenario har vi angett 4000 ms. klicka på OK-knappen för att lägga till påståendet. Det kommer att visa testresultatet, som visas nedan:

SLA påstående svar visa i SoapUI

  1. som vi kan se i ovanstående skärmdump, som svarstiden för tjänsten var 1374 ms, så det var under nämnda SLA av 4000 ms och resulterade i en framgångsrik påstående.

Key Takeaways

  • SoapUI erbjuder ett brett utbud av påståenden som kan tillämpas på både SOAP och REST webbtjänster.
  • dessutom är några av de vanliga påståendena innehålla, inte innehålla, Xpath och XQuery Match, som används för validering av svaret på innehållet i webbtjänsten.
  • dessutom används en annan uppsättning vanliga påståenden som tillhandahålls av SoapUI för validering av HTTP-Statuskoderna och schemat för Webbtjänsternas svar.
  • SoapUI tillhandahåller också ett sla-påstående som kan användas för validering av svarstiden för både SOAP-och REST-tjänster.

Låt oss gå vidare till nästa artikel där vi kommer att dyka vidare för att förstå hur vi kan implementera några förskott med hjälp av ”Script Assertions” i SoapUI.

Lämna ett svar

Din e-postadress kommer inte publiceras.