Vadnica za testiranje spletnih storitev: Kako preizkusiti? Naučite se s primerom

Kazalo:

Anonim

Kaj je WebService?

Spletne storitve so mehanizem ali medij komunikacije, prek katerega si bosta dve aplikaciji / stroji izmenjevali podatke, ne glede na podčrtano arhitekturo in tehnologijo.

Kaj je testiranje spletnih storitev?

Testiranje spletnih storitev je vrsta preskušanja programske opreme, ki potrjuje spletne storitve. Namen testiranja spletnih storitev je preveriti funkcionalnost, zanesljivost, delovanje in varnost API-ja (vmesnik aplikacijskega programa). Testiranje spletnih storitev je v nekaterih primerih podobno testiranju na enoti. Spletno storitev lahko preizkusite ročno, ustvarite lastno kodo za avtomatizacijo ali uporabite orodje za avtomatizacijo, kot je Postman.

Zakaj je potrebna spletna storitev?

Na splošno so razvite programske aplikacije, ki jih ljudje lahko porabijo, kjer oseba pošlje zahtevo programski storitvi, ki nato vrne odgovor v človeško berljivi obliki.

V sodobni tehnološki dobi, če želite zgraditi programsko aplikacijo, vam ni treba vsakega posebej graditi iz nič. Na voljo je veliko pripravljenih storitev, ki jih lahko vključite v svojo aplikacijo in jih lahko začnete zagotavljati v svoji aplikaciji.

Na primer želite prikazati informacije o vremenski napovedi, ki vam jih ni treba zbirati, obdelovati in upodabljati v aplikaciji. Storitve lahko kupite pri ljudeh, ki so se že dobro uveljavili pri obdelavi in ​​objavi tovrstnih podatkov.

Spletne storitve nam omogočajo tovrstne izvedbe.

Kot primer si oglejte naslednjo spletno storitev

http://www.webservicex.net/stockquote.asmx?op=GetQuote

Daje vrednost delnice za podjetje.

Poiščimo ceno delnice za Google (simbol: GOOG)

Odziv XML podaja ceno delnice.

To programsko opremo lahko pokliče programska aplikacija s protokolom SOAP ali HTTP.

Protokoli spletnih storitev

Spletne storitve je mogoče izvajati na različne načine, vendar sta naslednja dva priljubljena pristopa k izvedbi.

  1. SOAP (Simple Object Access Protocol)
  2. REST (Reprezentativna državna arhitektura prenosa)

MILO

SOAP je standardni protokol, ki ga določa standard W3C za pošiljanje in prejemanje zahtev in odgovorov na spletnih storitvah.

SOAP za pošiljanje in prejemanje zahteve uporablja format XML, zato so podatki neodvisni od platforme. Sporočila SOAP se izmenjujejo med ponudniškimi aplikacijami in prejemnimi aplikacijami v ovojnicah SOAP.

Ker SOAP uporablja preprost protokol za prenos http, požarni zidovi ne blokirajo njegovih sporočil.

POČITEK

REST pomeni zastopniški državni prenos; gre za arhitekturo, ki običajno teče preko HTTP. Stil REST poudarja interakcije med strankami in storitvami, ki so izboljšane z omejenim številom operacij. REST je alternativa SOAP (Simple Object Access Protocol) in namesto uporabe XML za zahtevo REST v nekaterih primerih uporablja preprost URL. Za razliko od SOAP aplikacije RESTFUL uporabljajo vdelane glave HTTP za prenos meta-informacij.

Obstajajo različne kode, ki jih REST uporablja za ugotavljanje, ali ima uporabnik dostop do API-ja ali ne, na primer koda 200 ali 201 označuje uspešno interakcijo z odzivnim telesom, medtem ko 400 označuje slabo zahtevo ali URI zahteve ne ustreza API-jem v sistemu. Vse parametre zahtev API in parametre metode lahko pošljete prek spremenljivk POST ali GET .

API za počitek podpira tako XML kot format JSON za preizkušanje API-jev WebServices. Običajno je najprimernejša za mobilne in spletne aplikacije, saj omogoča hitrejše in bolj gladko delovanje aplikacij

WSDL

WSDL (jezik za opis spletnih storitev) je jezik, ki temelji na XML in bo uporabljen za opis storitev, ki jih ponuja spletna storitev.

WSDL opisuje vse operacije, ki jih ponuja določena spletna storitev v obliki XML. Določa tudi, kako je mogoče poklicati storitve, tj. Kakšno vhodno vrednost moramo zagotoviti in kakšna bo oblika odziva, ki jo bo ustvarila za vsako vrsto storitve.

Kako preizkusiti spletno storitev?

Če želite preizkusiti spletno storitev, lahko

  1. Preizkusite ročno
  2. Ustvarite svojo kodo za avtomatizacijo
  3. Uporabite orodje za avtomatizacijo, kot je SoapUI.

Preizkušanje avtomatizacije spletnih storitev vključuje naslednje korake -

  1. Razumevanje datoteke WSDL
  2. Določite operacije, ki jih zagotavlja določena spletna storitev
  3. Določite obliko zahteve XML, ki jo moramo poslati
  4. Določite format XML odziva
  5. Uporaba orodja ali pisanje kode za pošiljanje zahteve in potrditev odgovora

Recimo, da želimo preizkusiti spletno storitev, ki omogoča pretvorbo valut. To bodo trenutni menjalni tečaji med valutami različnih držav. To storitev lahko v naših aplikacijah uporabljamo za pretvorbo vrednosti iz ene valute v drugo.

Zdaj si oglejmo zgornje korake

1. do 4. korak: Razumevanje WSDL in določanje operacij in formatov XML

Datoteko WSDL pretvornika valut si lahko ogledate @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl), ki vsebuje informacije o metodah spletnih storitev pretvornika valut, ki jih podpira, parametru, ki ga potrebujemo, in vrsta parametrov

... itd

5. korak: Uporaba orodja ali pisanje kode za pošiljanje zahteve in potrditev odgovora

Za preizkus spletne storitve SOAP je na voljo veliko orodij WebService Test. SoapUI je eno izmed priljubljenih orodij API, ki nam bo pomagalo pri testiranju spletnih storitev SOAP. Pravzaprav lahko uporabite kateri koli programski jezik, ki lahko pošlje zahtevo XML aplikaciji ponudnika spletnih storitev prek http in lahko razčleni in preveri odziv XML glede na pričakovani rezultat. V tej vadnici za testiranje spletnih storitev bomo preizkusili WebService

  1. Uporaba Jave
  2. Uporaba SoapUI

DEL 1) Testiranje spletnih storitev s pomočjo API-ja Apache Axis2 (Java).

Na splošno spletna storitev sprejme zahtevo in pošlje odgovor v obliki XML.

Projekt API Apache Axis2 je API za implementacijo Jave, ki se bo uporabljal za ustvarjanje spletnih storitev tako na strani strežnika (ponudnik storitev) kot na strani odjemalca (uporabnik storitve).

Axis2 lahko pošilja sporočila SOAP in prejema in obdeluje sporočila SOAP. Z API-jem lahko za izdelavo spletne storitve napišemo majhen program Java. Axis2 bo generiral WSDL iz programa Java, ki se bo uporabljal za komunikacijo storitev, ki jih ponuja spletna storitev. Isti Axis2 lahko uporabimo za generiranje razreda Java (stub) iz datoteke WSDL, ki ga lahko uporabimo kot odjemalski program za generiranje zahteve za spletno storitev, pošiljanje zahteve končni točki storitve in obdelavo odgovora.

  1. V bistvu bomo ustvarili preprost program Java, v katerem bomo ustvarili primer stub razreda.
  2. Z uporabo klica bomo poklicali metodo zahteve s posredovanjem vseh zahtevanih informacij.
  3. Stub program bo to zahtevo pretvoril v obliko zahteve XML in ji poslal končno točko storitve, ki bo zahtevo prebrala in jo obdelala ter odgovor poslala v obliki XML.
  4. Odziv XML bo pretvorjen v razred Java s stubom in vrnjen v dejanski program.

Podrobneje si oglejmo zgornje korake

Korak a) Prenesite API2 osi @ https://axis.apache.org/axis2/Java/core/download.cgi & nastavite spremenljivko okolja 'AXIS2_HOME'

Korak b) Ustvarite mapo, v kateri bodo shranjeni vsi ustvarjeni artefakti

Na primer: C: \ Axis \ Projects \ CurrencyConverter

Korak c) Odprite ukazni poziv in se pomaknite do strukture map, kjer želite ustvariti artefakte, in zaženite naslednji ukaz, ki bo ustvaril škrbine

% AXIS2_HOME% \ bin \ WSDL2Java -uri http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.currencyconvertor -d adb -s

Korak d) Ko je ukaz uspešno zagnan, boste videli mapo z zahtevanimi datotekami.

Korak e) V naslednjem koraku te vadnice za testiranje spletnih storitev moramo ustvariti odjemalski program, prek katerega bomo poslali dejansko zahtevo z ustvarjenimi škrbinami. Odprite eclipse in ustvarite nov projekt Java ter izberite mapo, ki smo jo ustvarili zgoraj.

Korak f) V pot graditve projekta dodajte vse kozarce, povezane z osjo2, ki bodo tam v mapi lib mape programske opreme osi2

(za npr: C: \ os \ os2-1.6.2 \ lib)

Korak g) Ustvarite nov razred Java (npr: Client.Java) in ustvarite primer zakrpe. Z uporabo objekta stub lahko pokličemo vse podprte metode določene spletne storitve.

Naročnik.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;javni razred odjemalec {javna statična void main (Java.lang.String args []) {poskusite {// Ustvari objekt škrbine s posredovanjem URL-ja končne točke storitveCurrencyConvertorStub stub = novo CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate je razred, ki ga moramo uporabiti, pri čemer omenimo od in do valute// Predmet ConversionRate bo parameter za operacijo convertRateConversionRate conversionRate = novo ConversionRate ();conversionRate.setFromCurrency (Currency.USD);conversionRate.setToCurrency (Currency.INR);// Ustvarimo objekt ConversionRateResponse, ki bo uporabljen za lovljenje odziva// pokličemo storitev conversionRate s pomočjo objekta stubConversionRateResponse conversionRateResponse = stub.conversionRate (conversionRate);// Z objektom convertRateResponse lahko pridobimo odziv storitve ConversionRateSystem.out.println ("Stopnja pretvorbe iz INR v USD: + conversionRateResponse.getConversionRateResult ());} ulov (izjema e) {e.printStackTrace ();}}}

DEL 2) Kako preizkusiti s pomočjo spletne storitve SoapUI

V SoapUI

  1. Pojdite v Datoteka> Nov projekt mila
  2. Vnesite ime projekta in lokacijo URI-ja WSDL
  3. Kliknite V redu
  1. Razširite prvo zahtevo in dvokliknite na 'Zahteva1'. Prikazala bo zahtevo SOAP v obliki XML.
  2. Vnesite Od valute in Do valute
  3. Kliknite gumb za oddajo
  4. Odgovor XML bo prikazan v desnem podoknu.

Kot lahko sklenete, uporaba orodij za preizkus WebService, kot je SoapUI, pospešuje vaše napore za avtomatizacijo spletnih storitev. Zato bo SoapUi osredotočen na naše učenje v naslednjih vajah.

Povzetek

  • Programske aplikacije med seboj komunicirajo in si izmenjujejo podatke s pomočjo storitve WebService
  • SOAP in REST sta dva priljubljena protokola za ustvarjanje spletne storitve
  • SOAP podpira izmenjavo podatkov na osnovi XML
  • REST podpira XML, Json ali izmenjavo podatkov v preprostem URL-ju za testiranje API-jev WebServices.
  • WSDL je jezik, ki temelji na XML in bo uporabljen za opis storitev, ki jih ponuja spletna storitev. SOAP je definiran z uporabo WSDL.
  • Če želite preizkusiti WebService, lahko
    • Ustvarite svojo kodo. Na primer uporabite Axis2 API za Javo
    • Uporabite orodja za avtomatizacijo preizkusov WebService, kot je SoapUI
  • Orodja za avtomatizacijo, kot je SoapUI, bodo zagnala vaša prizadevanja za testiranje avtomatizacije spletnih storitev in bodo zahtevala manj napora pri kodiranju v primerjavi z ustvarjanjem lastne kode z uporabo API-ja Axis2

Pogosta vprašanja

Kakšna je razlika med WebService in WebAPI?

Spletna storitev

Spletni API

  • Kot določa W3C, vsa komunikacija in izmenjava podatkov temelji na XML
  • Komunikacija in izmenjava podatkov prek spletnega API-ja so lahko XML, JSON ali navadni podatki
  • Ima opredeljene standarde - WSDL
  • Ni določenega standarda
  • Podatkov ne morete stisniti, lahko pa stisnete zahtevo HTML
  • Podatke lahko stisnete
  • Primer: MILO
  • Primer: REST

Preberite več o testiranju spletnega API-ja

Ta vadnica za testiranje spletnih storitev je omogočena s prispevki g. Narenderja Reddyja Nukale