Što je WebService?
Web usluge su mehanizam ili medij komunikacije putem kojeg će dvije aplikacije / strojevi razmjenjivati podatke bez obzira na njihovu podcrtanu arhitekturu i tehnologiju.
Što je testiranje web usluga?
Testiranje web usluga vrsta je testiranja softvera koja provjerava web usluge. Svrha testiranja web usluga je provjera funkcionalnosti, pouzdanosti, izvedbe i sigurnosti API-ja (sučelje aplikacijskog programa). Testiranje web usluga slično je jedinstvenom testiranju u nekim slučajevima. Web uslugu možete testirati ručno ili stvoriti vlastiti kôd za automatizaciju ili upotrijebiti alat za automatizaciju kao što je Postman.
Zašto je potrebna WebService?
Općenito, softverske su aplikacije razvijene za ljudsku upotrebu, kada osoba šalje zahtjev softverskoj službi koja zauzvrat vraća odgovor u čitljivom formatu.
U modernoj eri tehnologije, ako želite izraditi softversku aplikaciju, ne morate svaku od njih graditi od nule. Dostupno je puno gotovih usluga koje možete priključiti u svoju aplikaciju i možete početi pružati te usluge u svojoj aplikaciji.
Na primjer, želite prikazati informacije o vremenskoj prognozi koje ne trebate prikupljati, obrađivati i prikazivati podatke u svojoj aplikaciji. Usluge možete kupiti od ljudi koji su se već dobro utvrdili u obradi i objavljivanju takvih vrsta podataka.
Web usluge omogućuju nam ovakve implementacije.
Kao primjer uzmite u obzir sljedeće WebService
http://www.webservicex.net/stockquote.asmx?op=GetQuote
To daje vrijednost dionice za tvrtku.
Pronađimo cijenu dionica za Google (simbol: GOOG)
Odgovor XML daje cijenu dionice.
Ovu WebService može pozvati softverska aplikacija koristeći SOAP ili HTTP protokol.
Protokoli web usluga
Web usluge mogu se implementirati na različite načine, ali sljedeća su dva popularna pristupa implementaciji.
- SOAP (protokol za pristup jednostavnom objektu)
- REST (Reprezentativna arhitektura prijenosa države)
SAPUN
SOAP je standardni protokol definiran standardom W3C za slanje i primanje zahtjeva i odgovora na web usluge.
SOAP koristi XML format za slanje i primanje zahtjeva, pa su stoga podaci neovisni o platformi. SOAP poruke se razmjenjuju između aplikacija davatelja i primanja aplikacija unutar SOAP omotnica.
Kako SOAP koristi jednostavni http transportni protokol, vatrozidi ne blokiraju njegove poruke.
ODMOR
ODMOR znači prestavnički prijenos države; to je arhitektura koja uglavnom prelazi HTTP. Stil REST naglašava interakciju između klijenata i usluga, koje su poboljšane ograničenim brojem operacija. REST je alternativa SOAP-u (Simple Object Access Protocol) i umjesto da koristi XML za zahtjev, REST u nekim slučajevima koristi jednostavni URL. Za razliku od SOAP-a, RESTFUL aplikacije koriste HTTP zaglavlja za prijenos meta-informacija.
Postoje različiti kodovi koje REST koristi da bi utvrdio ima li korisnik pristup API-ju ili ne, poput koda 200 ili 201 ukazuje na uspješnu interakciju s tijelom odgovora, dok 400 označava loš zahtjev ili URI zahtjeva ne odgovara API-ima u sustavu. Svi parametri zahtjeva API-ja i parametri metode mogu se poslati putem varijabli POST ili GET .
API za odmor podržava i XML i JSON format za testiranje API-ja WebServices. Obično se preferira za mobilne i web aplikacije jer omogućuje brži i glađi rad aplikacija
WSDL
WSDL (jezik opisivanja web usluga) je jezik zasnovan na XML-u koji će se koristiti za opisivanje usluga koje nudi web usluga.
WSDL opisuje sve operacije koje nudi određena web usluga u XML formatu. Također definira kako se usluge mogu nazvati, tj. Koju ulaznu vrijednost moramo pružiti i koji će biti format odgovora koji će generirati za svaku vrstu usluge.
Kako testirati web uslugu?
Možete testirati web uslugu
- Testirajte ručno
- Stvorite svoj vlastiti automatizacijski kod
- Upotrijebite alat za automatizaciju kao što je SoapUI.
Testiranje automatizacije web usluga uključuje sljedeće korake -
- Razumijevanje WSDL datoteke
- Utvrdite operacije koje pruža određena web usluga
- Odredite format XML zahtjeva koji trebamo poslati
- Odredite XML format odgovora
- Upotreba alata ili pisanje koda za slanje zahtjeva i potvrdu odgovora
Pretpostavimo da želimo testirati web uslugu koja pruža mogućnost pretvorbe valuta. To će biti trenutni tečaj pretvorbe između valuta različitih zemalja. Ovu uslugu možemo koristiti u našim aplikacijama za pretvaranje vrijednosti iz jedne valute u drugu valutu.
Pogledajmo sada gornje korake
Korak 1 do 4: Razumijevanje WSDL-a i određivanje operacija i XML formata
Datoteka WSDL pretvarača valuta može se vidjeti @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) koja će pružiti informacije o metodama web usluga pretvarača valuta koje će podržavati, parametru koji trebamo proslijediti i vrsta parametara
... itdKorak 5: Korištenje alata ili pisanje koda za slanje zahtjeva i provjeru valjanosti odgovora
Za testiranje web usluge SOAP dostupno je puno alata WebService Test. SoapUI jedan je od popularnih API alata koji će nam pomoći da testiramo SOAP web usluge. Zapravo možete koristiti bilo koji programski jezik koji je sposoban poslati XML zahtjev aplikaciji davatelja web usluga putem http-a i moći analizirati i potvrditi odgovor XML-a u odnosu na očekivani rezultat. U ovom uputstvu za testiranje web usluga testirat ćemo WebService
- Korištenje Jave
- Korištenje SoapUI
DIO 1) Testiranje web usluga pomoću Apache Axis2 API (Java).
Općenito web usluga prima zahtjev i šalje odgovor u XML formatu.
Apache Axis2 API projekt je API za implementaciju Jave, koji će se koristiti za stvaranje web usluga i na strani poslužitelja (davatelj usluga) i na strani klijenta (potrošač usluge).
Axis2 je sposoban slati SOAP poruke i prima i obrađuje SOAP poruke. Možemo napisati mali Java program pomoću API-ja za stvaranje web usluge. Axis2 će generirati WSDL iz Java programa koji će se koristiti za komunikaciju usluga koje nudi web usluga. Možemo koristiti isti Axis2 za generiranje Java klase (stub) iz WSDL datoteke koju možemo koristiti kao klijentski program za generiranje zahtjeva za web uslugu, za slanje zahtjeva do krajnje točke usluge i za obradu odgovora.
- U osnovi ćemo stvoriti jednostavan Java program u kojem ćemo stvoriti instanc klasu.
- Korištenjem klizača pozvat ćemo metodu zahtjeva prosljeđivanjem svih potrebnih podataka.
- Stub program će taj zahtjev pretvoriti u format XML zahtjeva i poslati mu krajnju točku usluge koja će pročitati zahtjev i obraditi zahtjev te odgovor poslati u XML formatu.
- XML odgovor pretvorit će se u klasu Java stubom i vratiti u stvarni program.
Pogledajmo detalje gornje korake
Korak a) Preuzmite API2 axis2 @ https://axis.apache.org/axis2/Java/core/download.cgi & Postavite varijablu okoline 'AXIS2_HOME'
Korak b) Stvorite mapu za čuvanje svih generiranih artefakata
Primjer: C: \ Axis \ Projects \ CurrencyConverter
Korak c) Otvorite naredbeni redak i prijeđite na strukturu mape u kojoj želite generirati artefakte i pokrenite sljedeću naredbu koja će generirati kvarove
% AXIS2_HOME% \ bin \ WSDL2Java -uri http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.currencyconvertor -d adb -s
Korak d) Jednom kada se naredba uspješno pokrene, vidjet ćete mapu s potrebnim datotekama.
Korak e) U sljedećem koraku ovog vodiča za testiranje web usluga moramo stvoriti klijentski program putem kojeg ćemo poslati stvarni zahtjev pomoću generiranih kvara. Otvorite eclipse i izradite novi Java projekt i odaberite mapu koju smo stvorili gore.
Korak f) Dodajte sve osovine povezane s osom 2 na stazu izrade projekta, koja će biti tamo u mapi mape softvera osi2.
(za npr: C: \ os \ osi2-1.6.2 \ lib)
Korak g) Stvorite novu Java klasu (npr: Client.Java) i instancirajte stub objekt. Korištenjem objekta klizača možemo nazvati sve podržane metode određene WebService.
Klijent.Java programpaket org.apache.axis2.currencyconvertor;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;klijent javne klase {javna statička void glavna (Java.lang.String args []) {probaj {// Stvorite stub objekt prosljeđivanjem URL-a krajnje točke uslugeCurrencyConvertorStub stub = novi CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate je klasa koju moramo koristiti, a spominje se od i do valute// ConversionRate objekt će biti parametar za operaciju convertRateConversionRate conversionRate = novi ConversionRate ();conversionRate.setFromCurrency (Currency.USD);conversionRate.setToCurrency (Currency.INR);// Stvorimo objekt ConversionRateResponse koji će se koristiti za hvatanje odgovora// pozivamo uslugu conversionRate pomoću objekta klizačaConversionRateResponse conversionRateResponse = stub.conversionRate (conversionRate);// Možemo koristiti objekt convertRateResponse za dohvaćanje odgovora usluge ConversionRateSystem.out.println ("Stopa pretvorbe iz INR u USD: + conversionRateResponse.getConversionRateResult ());} catch (Iznimka e) {e.printStackTrace ();}}}
DIO 2) Kako testirati pomoću web usluge SoapUI
U SoapUI
- Idite na Datoteka> Novi projekt sapuna
- Unesite naziv projekta i WSDL URI mjesto
- Kliknite U redu
- Proširite prvi zahtjev i dvaput kliknite na 'Zahtjev1'. Prikazat će zahtjev za SOAP u XML formatu.
- Unesite Iz valute i U valutu
- Kliknite gumb za slanje
- XML odgovora prikazat će se s desne strane.
Kao što možete zaključiti, upotreba alata WebService Test poput SoapUI ubrzava vaš napor za testiranje automatizacije web usluga. Stoga će SoapUi biti fokus našeg učenja u sljedećim vodičima.
Sažetak
- Softverske aplikacije međusobno komuniciraju i razmjenjuju podatke pomoću WebServicea
- SOAP i REST su 2 popularna protokola za stvaranje WebServicea
- SOAP podržava razmjenu podataka na temelju XML-a
- REST podržava XML, Json ili razmjenu podataka u jednostavnom URL-u za testiranje API-ja WebServices.
- WSDL je jezik zasnovan na XML-u koji će se koristiti za opisivanje usluga koje nudi web usluga. SOAP se definira pomoću WSDL-a.
- Da biste testirali WebService možete
- Izradite vlastiti kod. Na primjer, koristite Axis2 API za Javu
- Koristite alate za automatizaciju WebService testiranja poput SoapUI
- Alati za automatizaciju poput SoapUI-a počet će vaše napore u testiranju automatizacije web-usluga, zahtijevat će manje napora u kodiranju u odnosu na stvaranje vlastitog koda pomoću Axis2 API
Pitanja
Koja je razlika između WebService i WebAPI?
Web usluga |
Web API |
|
|
|
|
|
|
|
|
Saznajte više o testiranju web API-ja
Ovo uputstvo za testiranje web usluga omogućeno je doprinosima g. Narendera Reddyja Nukale