Mi a WebService?
A Web Services az a kommunikációs mechanizmus vagy közeg, amelyen keresztül két alkalmazás / gép kicseréli az adatokat, függetlenül az aláhúzási architektúrától és a technológiától.
Mi az a webszolgáltatás tesztelése?
A Web Services Testing egy olyan szoftvertesztelési típus, amely ellenőrzi a webszolgáltatásokat. A Web Services Testing célja az API (Application Program Interface) funkcionalitásának, megbízhatóságának, teljesítményének és biztonságának ellenőrzése. A Web Service Testing bizonyos esetekben hasonló az egység teszteléséhez. Tesztelhet egy webszolgáltatást manuálisan, vagy létrehozhat saját automatizálási kódot, vagy használhatja a polcon kívüli automatizálási eszközt, például a Postmant.
Miért van szükség a webszolgáltatásra?
Általánosságban elmondható, hogy a szoftveralkalmazásokat az emberi fogyasztásra fejlesztik ki, ahol egy személy kérést küld egy szoftverszolgáltatáshoz, amely viszont visszajelzést ad az ember számára olvasható formátumban.
A technika modern korszakában, ha egy szoftveralkalmazást szeretne felépíteni, akkor nem kell mindent a semmiből felépítenie. Rengeteg elkészített szolgáltatás áll rendelkezésre, amelyeket csatlakoztathat az alkalmazásához, és elkezdheti ezeket a szolgáltatásokat nyújtani az alkalmazásában.
Például időjárás-előrejelzési információkat szeretne megjeleníteni, amelyekre nincs szüksége az adatok gyűjtésére, feldolgozására és megjelenítésére az alkalmazásban. Olyan emberektől vásárolhatja meg a szolgáltatásokat, akik már jól bejárták az ilyen jellegű adatok feldolgozását és közzétételét.
A webes szolgáltatások lehetővé teszik számunkra az effajta megvalósításokat.
Példaként vegye figyelembe a következő WebService szolgáltatást
http://www.webservicex.net/stockquote.asmx?op=GetQuote
Részvényértéket ad egy vállalat számára.
Keressük meg a Google árfolyamát (szimbólum: GOOG)
Az XML válasz megadja a részvény árfolyamát.
Ezt a WebSzolgáltatást SOAP vagy HTTP protokollt használó szoftveralkalmazás hívhatja meg.
Webszolgáltatási protokollok
A webszolgáltatások különböző módon valósíthatók meg, de a következő kettő a népszerű megvalósítási megközelítés.
- SOAP (egyszerű objektum-hozzáférési protokoll)
- REST (reprezentatív államátadási architektúra)
SZAPPAN
A SOAP a W3C szabvány által meghatározott szabványos protokoll a webszolgáltatási kérelmek és válaszok küldésére és fogadására.
A SOAP az XML formátumot használja a kérés küldésére és fogadására , ezért az adatok platformfüggetlen adatok. A SOAP-üzeneteket a szolgáltató és a fogadó alkalmazás között cserélik a SOAP-borítékon belül.
Mivel a SOAP az egyszerű http átviteli protokollt használja, a tűzfalak nem blokkolják üzeneteit.
PIHENÉS
A REST azt jelenti, hogy REpresentational State Transfer; ez egy architektúra, amely általában HTTP-n fut. A REST stílus hangsúlyozza az ügyfelek és a szolgáltatások közötti kölcsönhatásokat, amelyeket a korlátozott számú művelet fokoz. A REST a SOAP (Simple Object Access Protocol) alternatívája, és ahelyett, hogy XML-t használna a kérelemhez, a REST bizonyos esetekben egyszerű URL-t használ. A SOAP-tól eltérően a RESTFUL alkalmazások HTTP-fejléceket használnak a metainformációk szállítására.
Különböző kódok léteznek, amelyeket a REST annak megállapítására használ, hogy a felhasználónak van-e hozzáférése az API-hoz, vagy sem, például a 200-as vagy a 201-es kód jelzi a sikeres interakciót a választesttel, míg a 400 rossz kérést jelez, vagy a kérés URI nem egyezik meg a rendszer API -ival. Az összes API kérési paraméter és módszerparaméter elküldhető POST vagy GET változókon keresztül.
A Rest API mind az XML, mind a JSON formátumot támogatja a WebServices API teszteléshez. Általában a mobil- és webalkalmazások számára előnyös, mivel ez gyorsabb és gördülékenyebb alkalmazást tesz lehetővé
WSDL
A WSDL (Web Services Description Language) egy XML alapú nyelv, amelyet a webszolgáltatás által kínált szolgáltatások leírására használnak.
A WSDL XML formátumban írja le az adott webszolgáltatás által kínált összes műveletet. Meghatározza azt is, hogy a szolgáltatások hogyan hívhatók meg, azaz milyen bemeneti értéket kell nyújtanunk, és milyen formátumú lesz a válasz, amelyet az egyes szolgáltatásfajtákhoz generálni fog.
Hogyan tesztelhetünk egy webszolgáltatást?
A webszolgáltatás teszteléséhez megteheti
- Teszt manuálisan
- Készítse el saját automatizálási kódját
- Használjon olyan polc nélküli automatizálási eszközt, mint a SoapUI.
A Web Services Automation Testing a következő lépéseket tartalmazza:
- Ismerje meg a WSDL fájlt
- Határozza meg az adott webszolgáltatás által végzett műveleteket
- Határozza meg az elküldendő XML kérelem formátumát
- Határozza meg a válasz XML formátumát
- Eszköz vagy kód írása a kérelem elküldéséhez és a válasz érvényesítéséhez
Tegyük fel, hogy szeretnénk tesztelni egy olyan webszolgáltatást, amely pénznem-átváltási lehetőséget biztosít. Ez a jelenlegi átváltási árfolyamok a különböző országok valutája között. Ezt a szolgáltatást használhatjuk az alkalmazásainkban az értékek egyik pénznemről a másik pénznemre való átszámítására.
Most nézzük meg a fenti lépéseket
1–4. Lépés: A WSDL megértése, a műveletek és az XML formátumok meghatározása
Pénznem-konvertáló WSDL fájl @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) látható, amely információt nyújt az általa támogatott Pénzváltó webszolgáltatási módszerekről, a szükséges paraméterről és a a paraméterek típusa
… Stb5. lépés: Eszköz vagy kód írása a kérelem elküldéséhez és a válasz érvényesítéséhez
Nagyon sok WebService Test eszköz áll rendelkezésre a SOAP webszolgáltatás teszteléséhez. A SoapUI az egyik népszerű API eszköz, amely segít nekünk a SOAP webszolgáltatások tesztelésében. Valójában bármely olyan programozási nyelvet használhat, amely képes az XML kérést elküldeni a webszolgáltató alkalmazásnak a http-en keresztül, és képes elemezni és validálni a válasz XML-jét a várt eredménnyel szemben. Ebben a Web Services Testing oktatóanyagban teszteljük a WebService szolgáltatást
- Java használata
- A SoapUI használata
1. RÉSZ) WebService tesztelés Apache Axis2 API (Java) használatával.
A webszolgáltatás általában fogadja a kérést és XML formátumban küldi a választ.
Az Apache Axis2 API projekt egy Java implementációs API, amelyet a webszolgáltatások létrehozására használnak mind a kiszolgáló (szolgáltató), mind az ügyfél oldal (szolgáltatás fogyasztó) számára.
Az Axis2 képes SOAP üzenetek küldésére, valamint a SOAP üzenetek fogadására és feldolgozására. Írhatunk egy kis Java programot az API segítségével a webszolgáltatás létrehozásához. Az Axis2 a Java programból állítja elő a WSDL-t, amelyet a webszolgáltatás által kínált szolgáltatások kommunikációjára használnak. Ugyanazt az Axis2-t használhatjuk a Java osztály (csonk) előállítására a WSDL fájlból, amelyet kliens programként használhatunk a webszolgáltatási kérelem előállítására, a kérés elküldésére a szolgáltatás végpontjára és a válasz feldolgozására.
- Alapvetően létrehozunk egy egyszerű Java programot, amelyben példázzuk a csonk osztályt.
- A csonk használatával az összes szükséges információ átadásával meghívjuk a kérés módszerét.
- A Stub program a kérelmet XML kérelem formátumra konvertálja, és elküldi neki a szolgáltatás végpontját, amely elolvassa a kérést, feldolgozza a kérést, és XML formátumban küldi a választ.
- Az XML választ a csonk átalakítja Java osztályba, és visszatér a tényleges programhoz.
Nézzük meg részletesen a fenti lépéseket
A) lépés: Töltse le az axis2 API-t @ https://axis.apache.org/axis2/Java/core/download.cgi és állítsa be az „AXIS2_HOME” környezeti változót
B) lépés: Hozzon létre egy mappát az összes létrehozott műtárgy megőrzéséhez
Például: C: \ Axis \ Projects \ CurrencyConverter
C) lépés: Nyissa meg a parancssort, és keresse meg azt a mappastruktúrát, ahol a műtermékeket elő akarja állítani, és futtassa a következő parancsot, amely létrehozza a csonkokat
% AXIS2_HOME% \ bin \ WSDL2Java -uri http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.currencyconverter -d adb -s
D) lépés: A parancs sikeres futtatása után megjelenik a szükséges fájlokat tartalmazó mappa.
E) lépés: A Web Services Testing oktatóanyag következő lépésében létre kell hoznunk az ügyfélprogramot, amelyen keresztül a generált csonkok felhasználásával elküldjük a tényleges kérést. Nyissa meg a napfogyatkozást, hozza létre az új Java projektet, és válassza ki a fent létrehozott mappát.
F) lépés: Adja hozzá az összes tengely2-hez kapcsolódó edényt a projekt összeépítési útvonalához, amely ott lesz a tengely2 szoftver mappa lib mappájában
(például: C: \ Axis \ tengely2-1.6.2 \ lib)
G) lépés: Hozzon létre egy új Java osztályt (például: Client.Java), és példányosítsa a csonk objektumot. A csonk objektum segítségével meghívhatjuk az adott WebService összes támogatott módszerét.
Client.Java Programorg.apache.axis2.currencyconvertor csomag;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;nyilvános osztály Ügyfél {public static void main (Java.lang.String args []) {próbáld ki {// Hozza létre a csonk objektumot a szolgáltatás végpontjának URL átadásávalCurrencyConvertorStub stub = new CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate az az osztály, amelyet használnunk kell a és a pénznem megadásához// ConversionRate objektum lesz a conversionRate művelet paramétereConversionRate conversionRate = új ConversionRate ();conversionRate.setFromCurrency (Currency.USD);conversionRate.setToCurrency (Currency.INR);// Hozza létre a ConversionRateResponse objektumot, amelyet a válasz befogására fog használni// hívja meg a conversionRate szolgáltatást a csonk objektum használatávalConversionRateResponse conversionRateResponse = stub.conversionRate (conversionRate);// A conversionRateResponse objektummal lekérhetjük a ConversionRate szolgáltatás válaszátSystem.out.println ("Konverziós ráta INR-ről USD-re: + conversionRateResponse.getConversionRateResult ());} fogás (e kivétel) {e.printStackTrace ();}}}
2. RÉSZ) Hogyan teszteljük a SoapUI Web Service használatát
A SoapUI-ban
- Válassza a Fájl> Új szappan projekt lehetőséget
- Írja be a projekt nevét és a WSDL URI helyét
- Kattintson az OK gombra
- Bontsa ki az első kérést, és kattintson duplán a 'Request1' gombra. Megjeleníti a SOAP kérést XML formátumban.
- Adja meg a Kezdő és a Pénznem menüpontokat
- Kattintson a beküldés gombra
- A válasz XML a jobb oldali ablaktáblán jelenik meg.
Amint arra következtethet, a WebService Test eszközök, például a SoapUI használata felgyorsítja a webszolgáltatások automatizálásának tesztelését. Ezért a SoapUi lesz a tanulásunk középpontjában a következő oktatóanyagok.
Összegzés
- A szoftveralkalmazások kommunikálnak és adatokat cserélnek egymással egy WebService használatával
- A SOAP és a REST két népszerű protokoll a WebSzolgáltatás létrehozására
- A SOAP támogatja az XML alapú adatcserét
- A REST támogatja az XML, Json vagy adatcserét egyszerű URL-ben a WebServices API teszteléshez.
- A WSDL egy XML alapú nyelv, amelyet a webszolgáltatás által kínált szolgáltatások leírására használnak. A SOAP a WSDL használatával van meghatározva.
- A WebService teszteléséhez megteheti
- Készítse el saját kódját. Például használja az Axis2 API-t a Java-hoz
- Használja a WebService Test Automation eszközöket, például a SoapUI-t
- Az olyan automatizálási eszközök, mint a SoapUI, elindítják a webszolgáltatások automatizálási tesztelését, kevesebb kódolási erőfeszítést igényelnek, mint a saját kód létrehozása az Axis2 API segítségével
GYIK
Mi a különbség a WebService és a WebAPI között?
Webszolgáltatás |
Web API |
|
|
|
|
|
|
|
|
További információ a webes API-tesztelésről
Ez a webszolgáltatás-tesztelési útmutató Narender Reddy Nukala úr közreműködésével lehetséges