december 17, 2021

SoapUI Common Assertions

az előző két cikkben a Tesztspecifikus állítások részleteit ismertük meg, amelyek csak egy adott teszt eset vagy webszolgáltatás esetében alkalmazhatók. A “SoapUI teszt specifikus állítások: REST szolgáltatások” cikkben említett összes állítás csak a REST Webszolgáltatásokra vonatkozik, a “SoapUI teszt specifikus állítások: SOAP szolgáltatások” cikkben említett összes állítás pedig csak a SOAP Webszolgáltatásokra vonatkozik. Most a SoapUI néhány más állítást is tartalmaz, amelyek mind a SOAP, mind a REST szolgáltatásokra alkalmazhatók, és SoapUI közös Állításokként ismertek. Ebben a cikkben, meg fogjuk érteni az összes általános állítás használatát azáltal, hogy a részleteket a következő témákban ismertetjük:

  • melyek a SoapUI közös tulajdon tartalmi állításai?
    • mit tartalmaz állítás SoapUI?
    • ezenkívül mi nem tartalmaz állítást a SoapUI – ban?
    • mi az XPath állítás a SoapUI – ban?
    • mi az XQuery Match Assertionin SoapUI?
  • hasonlóképpen, melyek a SoapUI-ban a közös megfelelés, státusz és Standard állítások?
    • mik azok a HTTP állapotkódok, amelyeket a SoapUI nyújt?
    • ezenkívül mi a séma megfelelőségi állítás a SoapUI – ban?
  • melyek a SoapUI általános SLA állításai?

mivel ezek az állítások mind a SOAP, mind a REST szolgáltatásokra alkalmazhatók, a következő információkat fogjuk felhasználni ezen állítások érvényesítéséhez:

  • az URI használatával létrehozott REST projekt: “http://bookstore.toolsqa.com/BookStore/v1/Books “és a WSDL használatával létrehozott SOAP projekt:” http://bookstore.toolsqa.com/BookStoreService.wsdl “a” SoapUI: Working with Projects ” cikkben említett részletek szerint.”
  • a REST projekt mintakimenetét a “SoapUI teszt specifikus állítások: REST szolgáltatások” cikkből, a SOAP projekt mintakimenetét pedig a “SoapUI teszt specifikus állítások: SOAP szolgáltatások”cikkből tekintheti meg.

melyek a SoapUI közös tulajdon tartalmi állításai?

mint azt már tudjuk, a Tulajdonságtartalomra vonatkozó állítások érvényesítik a kapott válasz tartalmát. A SoapUI több tartalmi állítást biztosít, amelyek mind a SOAP, mind a REST kérelmekre alkalmazhatók. Lássuk az alábbi szakaszokban, hogyan tudjuk használni ezeket az állításokat?

mit tartalmaz állítás SoapUI?

a Contains állítás string token létezését keresi a tulajdonság értékében.

Vegyünk egy forgatókönyvet, hogy a könyvesbolt Szolgáltatás, meg kell, hogy ellenőrizze, hogy egy könyvet a szerző neve “Richard E. Silverman” létezik?Kövessük az alább említett lépéseket, hogy érvényesítsük ugyanezt a “Tartalmaz” állítással:

  1. először keresse meg az állítás hozzáadása párbeszédpanelt. Ezt követően kattintson a “Tartalmaz” állításra a “Tulajdonságtartalom” állítás kategóriában, az alábbiak szerint:

a Hozzáadás tartalmazza az Állítástmind a szappan, mind a pihenés számára a SoapUI-ban

  1. másodszor, kattintson az ” Add “gombra, és megjelenik a” contains Assertion ” párbeszédpanel, az alábbiak szerint:

tartalmazza állítás párbeszédablak SoapUI

  1. harmadszor, írja be a szerző nevét “Richard E. Silverman “a” Tartalom ” részben. Ez a keresési karakterlánc, amelyet érvényesíteni szeretne a webszolgáltatás válaszában.

  2. negyedszer, a fenti párbeszédpanelen két jelölőnégyzet is megjelenik. Ezek:

  • eset figyelmen kívül hagyása: Ha bejelöli az eset figyelmen kívül hagyása jelölőnégyzetet, akkor az az eset figyelmen kívül hagyásával érvényesíti a karakterláncot. Tegyük fel, hogy beírja a “richARD E. SilVerMan” szót A tartalom szövegmezőbe, és bejelöli az “eset figyelmen kívül hagyása összehasonlításban” jelölőnégyzetet. Ezenkívül figyelmen kívül hagyja az esetet, és csak a megadott karakterlánc értékét ellenőrzi.

IgnoreCase tartalmaz állítást SoapUI

tehát, az állítás fog múlni, mint a karakterlánc ugyanaz, ha figyelmen kívül hagyjuk az ügyet.

  • reguláris kifejezés: Ha a kimenetet RegEx alapján szeretné érvényesíteni, jelölje be ezt a jelölőnégyzetet, majd adja meg a reguláris kifejezést A tartalom szakaszban. A SoapUI például az Oracle által megadott reguláris kifejezési mintákat követi, ha ellenőrizni akarjuk, hogy a könyvszolgáltatási válasz “O ‘ Reilly” – t tartalmaz-e a válaszban, megadhatja “.O ‘ Reilly.”Regexként A tartalom szakaszban, az alábbiak szerint:

reguláris kifejezés a Contain állításban a SoapUI

fájlban tehát a Contains állítás használatával ellenőrizhetjük egy karakterlánc létezését a webszolgáltatás válaszában, és ezt felhasználhatjuk mind a SOAP, mind a REST Webszolgáltatásokra.

mi nem tartalmaz állítást a SoapUI – ban?

a Contains állítással ellentétben a Not Contains állítás arra keres, hogy egy karakterlánc nem létezik-e a tulajdonság értékében. Ezenkívül ez az állítás akkor is megtörténik, ha a válasz nem tartalmazza a megadott értéket.

tegyük fel; szeretnénk érvényesíteni, hogy a könyvesbolt szolgáltatás válaszában nincs “Groovy Book” című könyv, ezt az állítást felhasználhatjuk a könyvesbolt API válaszának érvényesítésére.

kövessük az alább említett lépéseket, hogy érvényesítsük ugyanezt a “nem tartalmaz” állítással:

  1. először keresse meg az állítás hozzáadása párbeszédpanelt, majd kattintson a” nem tartalmaz “állításra a” Tulajdonságtartalom ” állítás kategóriában, az alábbiak szerint:

hogyan kell hozzáadni nem tartalmaz állítástmind a szappan, mind a pihenés SoapUI

  1. másodszor, kattintson a “Hozzáadás” gombra, amely megjeleníti a” NotContains Assertion “párbeszédpanelt, az alábbiak szerint:

  2. harmadszor, írja be a “Groo Book” karakterlánc nevét a “tartalom” szakaszba. Az érvényesíteni kívánt keresési karakterlánc nem létezik a webszolgáltatás válaszában.

megjegyzés: a két jelölőnégyzet(Ignore Case & RegEx) itt ugyanúgy működik, mint a Contains állítással.

  1. negyedszer, az “OK” gombra kattintva végrehajtja az állítást a WebService válasz ellen, és megmutatja az eredményt, az alábbiak szerint:

nem tartalmaz állítás konfiguráció SoapUI

  1. tehát, amíg a karakterlánc nincs jelen a célszolgáltatás válaszában, az állítás elmúlik.

mi az XPath Match állítás a SoapUI-ban?

az XPath Match állítás lehetővé teszi, hogy XPath kifejezéssel válassza ki a tartalmat a célválasz adott csomópontjából, és hasonlítsa össze a várt értékkel.

tegyük fel, hogy ellenőrizni szeretné, hogy a BookStore API válaszában szereplő első könyv ISBN-értéke nem null. Ugyanezt gyorsan érvényesíthetjük az XPath állítással.

kövessük az alábbi lépéseket az “XPath Match” állítás érvényesítéséhez:

  1. először navigáljon hozzá állítás párbeszédpanel. Ezt követően kattintson az “XPath Match” állításra a “Property Content” állítás kategóriában, az alábbiak szerint:

hogyan lehet hozzáadni az XPath Match assertion-Tmind a szappan, mind a pihenés számára a SoapUI-ban

  1. másodszor, kattintson a “Hozzáadás” gombra, és megjelenik az “Xpath Match Configuration” párbeszédpanel, az alábbiak szerint:

Xpath Match Assertion ConfigurationsCommon mind a SOAP, mind a többi SoapUI

ahol,

  • Deklarálás: erre a gombra kattintva automatikusan letölti és feltölti a névteret. Ha biztos a névtér részleteiben, akkor manuálisan is beírhatja, különben csak kattintson a” Deklarálás ” gombra, és az alább látható módon kitölti a névtér részleteit:

    • a SOAP szolgáltatás névtere az alábbiak szerint kerül kitöltésre:

a SOAP szolgáltatás Névterének deklarálása az Xpath match assertion alkalmazásban a SoapUI-ban

  • Hasonlóképpen a REST szolgáltatás névtere is fel lesz töltve, az alábbiak szerint:

a REST szolgáltatás Névterének deklarálása az Xpath match assertion alkalmazásban a SoapUI

a névtér deklarálása után megadhatjuk a kívánt csomópont XPATH-ját a szakaszban XPath kifejezés.

  • megadhat egy mintát XPATH “//ns1:BooksResult/ns1:Books/ns1:CustomBookModel/ns1:Isbn” a SOAP szolgáltatáshoz az alábbiak szerint:

az XPath megadása egy SOAP szolgáltatáshoz a SoapUI

alkalmazásban hasonlóképpen megadhat egy mintát XPATH “//ns1:books//ns1:e/ns1:isbn” a REST szolgáltatáshoz az alábbiak szerint:

XPath megadása egy Rest szolgáltatáshoz a SoapUI-ban

vegye figyelembe az ns1 névtér használatát mindkét esetben. A csomópontok eléréséhez a névtér használata kötelező.

  • válasszon az aktuális közül: erre a gombra kattintva automatikusan kiválasztja a csomópont értékét, amint azt a várt eredmény szakaszban említettük, amely a fenti esetben isbn. Ezenkívül az isbn csomópont értékét “9781449325862” – ként választja ki. Ha erre a gombra kattintva nem szeretné automatikusan kiválasztani az értéket, akkor a várt eredményt manuálisan is beírhatja.
  • teszt: a “Teszt” gombra kattintva tesztelheti a kimenetet, ha az állítás átmegy, akkor az alábbi sikerjelzést mutatja :

Xpath mérkőzés teszt siker üzenet figyelmeztetés SoapUI

vagy ha az állítás nem sikerül, akkor dob hiba, és megmutatja a párbeszédablak, az alábbiak szerint:

XpathMatch teszt hiba

  • opcionális jelölőnégyzetek: a várt eredmény szakasz néhány jelölőnégyzetet is tartalmaz, amely további segítséget nyújt az állítás érvényesítésében. Értsük meg ezeknek a jelölőnégyzeteknek a részleteit:
  • helyettesítő karakterek engedélyezése jelölőnégyzet: ha az érvényesíteni kívánt érték dinamikusan változik a célválaszban, akkor helyettesítő karaktereket használhatunk a válasz érvényesítéséhez. Tegyük fel, hogy ha figyelembe vesszük, hogy az 1.könyv isbn-je mindig “862” – vel végződik, akkor használhatjuk a *”862″ helyettesítő karaktert, amely igazolja, hogy az isbn mindig “862” – vel végződik. A várt eredmény szakaszban a következőképpen jelenik meg:

engedélyezze a helyettesítő XPath mérkőzést a SoapUI-ban

  • a névtér előtag figyelmen kívül hagyása jelölőnégyzet: Ha figyelmen kívül akarjuk hagyni a névtér előtagot a válasz érvényesítése közben, ezt a jelölőnégyzet bejelölésével tehetjük meg.
  • XML Megjegyzések figyelmen kívül hagyása jelölőnégyzet: ha figyelmen kívül akarjuk hagyni a válaszban szereplő megjegyzéseket, ezt a jelölőnégyzet bejelölésével érhetjük el.
  • a fenti lehetőségek feltárása után kattintson a Mentés gombra az állítás mentéséhez. Meg kell felelnie az állítás, és megkapja a várt Isbn mint “9781449325862”. Következésképpen a minta kimenetét a következőképpen mutatja:

Xpath Match AssertionCommon mind a SOAP, mind a RESToutput nézetben SoapUI

mi az XQuery Match Assertionin SoapUI?

az XQuery egyezés nagyon hasonlít az XPath állításra, azzal a különbséggel, hogy XQuery kifejezést használ, és összehasonlítja a várt eredménnyel.

Vegyünk egy forgatókönyvet tegyük fel, hogy érvényesíteni szeretné a válaszban elérhető könyvek összes “címét”, függetlenül attól, hogy milyen sorrendben léteznek. Írhatsz egy egyszerű XQuery-t, majd jó vagy.

kövessük az alább említett lépéseket, hogy érvényesítsük ugyanezt a “XQueryMatch” állítással:

  1. először keresse meg az állítás hozzáadása párbeszédpanelt. Ezt követően kattintson az “XQuery Match” állításra a “Property Content” állítás kategóriában, az alábbiak szerint:

hogyan lehet hozzáadni az XQuery Match assertion-Tmind a szappan, mind a pihenés számára a SoapUI-ban

  1. másodszor, kattintson a “Hozzáadás” gombra, amely megjeleníti az “XQuery Match Configuration” párbeszédpanelt, az alábbiak szerint:

Xquery Match Assertion konfiguráció mind a SOAP, mind a REST esetében a SoapUI

ahol,

  • XQuery kifejezés: ez az XQuery kifejezés, amelyet meg kell adnia az érték kibontásához a webszolgáltatás válaszából. Például az összes könyv címének megszerzéséhez az alábbiak szerint adhatjuk meg az XQuery kifejezést:
<Result>{for$z in //*:CustomBookModelreturn (<Title>{data($z/*:Title)}</Title>)}</Result>

a fenti kódrészletben:

  • <Result> az a címke, amelyben az XQuery válasz alapján tárolja az eredményt. Ezenkívül bármilyen címke lehet A felhasználó választása alapján.
  • ezenkívül a választ a for ciklus segítségével iteráljuk, a $z pedig bármilyen változó, amely <CustomBookModel>értéket kap.
  • //. megadja a CustomBookModel gyökerét, a névtér használatával is navigálhat, majd megadhatja a névteret a **”//helyett.”.***
  • a fentieken kívül a “return” funkció visszaadja a <Title> címke értékét.
  • a “data” függvény a <CustomBookModel> címke minden címcímkéjének adatait is visszaadja.

2) Válasszon az aktuális közül: Kattintson a gombra az aktuális érték kiválasztásához a válaszból az említett XQuery szerint.

3) várható eredmény: miután rákattintott a “kiválasztás az aktuális” gombra, visszaadja az összes címet a szolgáltatás válaszából. A várt eredményt manuálisan is megadhatja.

4) a “Teszt” gombra kattintva megjelenik a sikerre adott válasz, az alábbiak szerint:

sikeres Xquery mérkőzés állítás SoapUI-ban

  1. az “OK” gombra kattintva megjelenik az állítás érvényes végrehajtása.

melyek a SoapUI Általános megfelelőségi, státuszbeli és Standard állításai?

a SoapUI által a “Property Content” szakaszban megadott általános állításokhoz hasonlóan a “Compliance, Status and Standard” kategóriában is tartalmaz néhány állítást, amelyek mind a SOAP, mind a REST webszolgáltatások esetében gyakoriak. Értsük meg ezeknek az állításoknak a részleteit a következő szakaszokban:

mik azok a HTTP állapotkódok, amelyeket a SoapUI nyújt?

mint mindannyian tudjuk, a HTTP állapotkódok jelzik, hogy egy HTTP kérés befejeződött-e vagy sem. Ezek a válaszkódok általában a következő kategóriákra oszlanak:

1 1xx: tájékoztató: ezek az állapotkódok a kérelem beérkezését és feldolgozását jelentik.
2 2xx: siker: ezek az állapotkódok azt jelzik, hogy a műveletet sikeresen fogadták, feldolgozták és elfogadták.
3 3xx: átirányítás: ezek az állapotkódok azt jelzik, hogy további műveletekre van szükség a kérés teljesítéséhez.
4 4xx: Ügyfélhiba: ezek az állapotkódok azt jelzik, hogy a kérés helytelen szintaxist tartalmaz, vagy valami nincs rendben a kérésünkkel.
5 5xx: szerverhiba: ezek az állapotkódok azt jelzik, hogy szerveroldali hiba történt, ami azt jelenti, hogy a szerver nem teljesítette az érvényes kérést.

ezen állapotkódok érvényesítéséhez a SoapUI néhány állítást tartalmaz. Értsük meg ezen állítások részleteit a következő szakaszokban:

mi az érvényes HTTP állapotkódok állítás a SoapUI – ban?

ez az állítás igazolja, hogy a webszolgáltatás által visszaadott HTTP-válaszkód a várt HTTP-kódok listájában található.

tekintsünk egy olyan forgatókönyvet, amely szerint a könyvesbolt API esetében ellenőrizni szeretnénk, hogy a visszaadott válaszkód mindig 200 vagy 201. Használhatjuk az” érvényes HTTP állapotkódok ” állítást annak érvényesítésére.

kövessük az alább említett lépéseket, hogy érvényesítsük ugyanezt az” érvényes HTTP állapotkódok ” állítással:

  1. keresse meg az állítás hozzáadása párbeszédpanelt, majd kattintson az ” érvényes HTTP állapotkódok “állításra a” megfelelőség, állapot és szabvány “állítás kategóriában, az alábbiak szerint:

Hogyan adhatunk hozzá érvényes HTTP állapotkódot astationcommon mind a SOAP, mind a REST számára a SoapUI-ban

  1. kattintson a “Hozzáadás” gombra, ahol megjelenik az “érvényes HTTP állapotkódok állítás konfigurációja” párbeszédpanel, az alábbiak szerint:

érvényes HTTP állapotkód érvényesítési konfigurációkmind a SOAP, mind a REST számára a SoapUI-ban

  1. a” kódok megadása ” szakaszban tegye a 200, 201 értékeket. Megadhat egyetlen kódot vagy vesszővel elválasztott kódok listáját. Az “OK” gombra kattintva érvényesíti a HTTP állapotkódokat a szolgáltatás utolsó válaszával szemben.

Mi Az érvénytelen HTTP állapotkódok állítás a SoapUI-ban?

az “érvényes HTTP-állapotkódok” állítással ellentétben az “érvénytelen HTTP-állapotkódok” állítás igazolja, hogy a “várható kódok” lista nem tartalmazza a webszolgáltatás által visszaadott HTTP-állapotkódot.

Vegyünk egy forgatókönyvet, hogy a könyvesbolt API, szeretnénk ellenőrizni, hogy a válaszkód vissza nem 401. Használhatjuk Az” érvénytelen HTTP állapotkódok ” állítást annak érvényesítésére.

kövessük az alábbi lépéseket Az “érvénytelen HTTP állapotkódok” állítás érvényesítéséhez:

  1. keresse meg az állítás hozzáadása párbeszédpanelt, majd kattintson Az ” érvénytelen HTTP állapotkódok “állításra a” megfelelőség, állapot és szabvány “állítás kategóriában, az alábbiak szerint:

Hogyan adhatunk meg érvénytelen HTTP állapotkódot assertionCommon mind a SOAP, mind a REST számára a SoapUI-ban

  1. kattintson a “Hozzáadás” gombra, ahol megjelenik az “érvénytelen HTTP állapotkódok állítás konfigurációja” párbeszédpanel, az alábbiak szerint:

érvénytelen HTTP állapotkód-állítás konfigurációk mind a SOAP, mind a REST esetében a SoapUI-ban

  1. a” kódok megadása ” szakaszban tegye a 401 értékeket. Megadhat egyetlen kódot vagy vesszővel elválasztott kódok listáját. Az “OK” gombra kattintva érvényesíti a HTTP állapotkódok nem létezését a szolgáltatás utolsó válaszával szemben.

Megjegyzés: ezeket az állításokat mind a SOAP, mind a REST végpontokra alkalmazhatjuk.

mik a séma megfelelőségi állítások a SoapUI – ban?

Eltekintve státusz kódok, a SoapUI, azt is érvényesíteni a válasz üzenet ellen a meghatározás a WSDL(SZAPPAN), vagy WADL(a TÖBBI) a cél szerinti szolgáltatást, teszt.

Fontolja meg egy olyan forgatókönyv, hogy azt akarjuk, hogy gyorsan ellenőrizze, hogy a SZAPPAN választ, ami vagyunk, hogy az megfelel-e a WSDL, vagy nem?

kövessük a lépéseket, hogy az alább említett, hogy érvényesítse ugyanaz a “Séma Megfelelés” állítás:

  1. keresse meg az állítás hozzáadása párbeszédpanelt, majd kattintson a “séma Megfelelőség” állításra a “megfelelőség, állapot és szabvány” állítás kategóriában, az alábbiak szerint:

hogyan lehet hozzáadni a séma megfelelőségi Állításátmind a SOAP, mind a REST számára a SoapUI-ban

  1. kattintson a “Hozzáadás” gombra, és megjelenik a “séma megfelelőségi állítás konfigurálása” párbeszédpanel, az alábbiak szerint:

  2. a konfigurációs párbeszédpanelen automatikusan feltölti a projektet létrehozó WSDL-t, de ha más WSDL-t szeretne megadni, frissítheti azt is. Kattintson az OK gombra a folytatáshoz.

séma megfelelőségi állítások válasz nézete a SoapU-ban

  1. ha a válasz megfelel az említett sémának, látni fogja a sikerválaszt, a fentiek szerint. A hiba akkor jelenik meg, ha az utolsó válasz nem felel meg a WSDL sémának.

Megjegyzés: Hasonlóképpen érvényesítheti a REST szolgáltatás válaszát egy megadott WADL-rel szemben.

melyek a SoapUI általános SLA állításai?

mint mindannyian tudjuk, a szolgáltatási szintű megállapodást (SLA) általában a Szolgáltató és az ügyfél közötti megállapodásnak nevezik. A megállapodást különféle elfogadott jellemzők, például rendelkezésre állás, minőség, válaszidő stb. SoapUI biztosítja a funkciót, hogy érvényesítse a válaszidő egy adott szolgáltatás.

Vegyünk egy hipotetikus forgatókönyvet, amely szerint a könyvesbolt Webszolgáltatásának egyeztetett válaszideje kevesebb, mint 4 másodperc. Ugyanezt érvényesíthetjük a SoapUI – ban az” SLA ” állítás kategóriákkal.

kövessük az alább említett lépéseket, hogy érvényesítsük ugyanezt a “Response SLA” állítással:

  1. keresse meg az állítás hozzáadása párbeszédpanelt, majd kattintson a “válasz SLA” állításra az ” SLA ” állítás kategóriában, az alábbiak szerint:

Hogyan adhatunk hozzá válasz SLA állítástgyakori mind a szappan, mind a pihenés számára a SoapUI-ban

  1. kattintson az ” Add “gombra, és megjelenik a” Response SLA Assertion configuration ” párbeszédpanel, az alábbiak szerint:

az SLA assertionCommon konfigurálása mind a SOAP, mind a REST számára a SoapUI_0-ban

  1. adja meg azt a maximális időt (ms-ban), amelyben a szolgáltatás várhatóan visszaadja a választ. Forgatókönyvünkhöz 4000 ms-ot adtunk meg. kattintson az OK gombra az állítás hozzáadásához. Megmutatja a teszt eredményét, az alábbiak szerint:

SLA Állítás válasz megtekintése a SoapUI

  1. Mint látjuk a fenti képen, mint a válasz, amikor a szolgáltatás 1374 ms, így ez alatt az említett SLA 4000 ms eredményezte, hogy egy sikeres állítás.

Gombot Átvétel

  • SoapUI széles skáláját biztosítja állítások, amelyeket alkalmazni lehet mind a SZAPPANOS TÖBBI webes szolgáltatások.
  • Továbbá, néhány közös kijelentések Tartalmazza, Nem Tartalmazhat, Xpath, valamint XQuery Mérkőzés, amelyeket az érvényesítés a válasz a tartalom Útját.
  • ezenkívül a SoapUI által biztosított általános állítások egy másik csoportját használják a HTTP állapotkódok és a webszolgáltatások válaszának sémájának érvényesítésére.
  • a SoapUI egy SLA állítást is nyújt, amely felhasználható mind a SOAP, mind a REST szolgáltatások válaszidejének érvényesítésére.

térjünk át a következő cikkre, ahol tovább mélyedünk, hogy megértsük, hogyan valósíthatunk meg néhány előzetes állítást a SoapUI “szkript állításai” használatával.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.