Veebiteenuste testimise õpetus: kuidas testida? Õppige näite abil

Lang L: none (table-of-contents):

Anonim

Mis on WebService?

Veebiteenused on suhtlusmehhanism või -vahend, mille kaudu kaks rakendust / masinat vahetavad andmeid, olenemata nende allajoonitud arhitektuurist ja tehnoloogiast.

Mis on veebiteenuste testimine?

Veebiteenuste testimine on tarkvara testimise tüüp, mis kinnitab veebiteenuseid. Veebiteenuste testimise eesmärk on kontrollida API (Application Program Interface) funktsionaalsust, usaldusväärsust, jõudlust ja turvalisust. Veebiteenuse testimine on mõnel juhul sarnane üksuse testimisega. Võite veebiteenust testida käsitsi või luua oma automaatikakoodi või kasutada riiulivälist automatiseerimistööriista nagu Postman.

Miks on veebiteenust vaja?

Üldiselt on tarkvararakendused välja töötatud inimeste tarbimiseks, kus inimene saadab päringu tarkvarateenusele, mis omakorda annab vastuse inimesele loetavas vormingus.

Tänapäeva tehnoloogiaajastul, kui soovite luua tarkvararakendust, ei pea te kõike ja kõike nullist üles ehitama. Saadaval on palju valmiskujundatud teenuseid, mille saate oma rakendusse ühendada ja võite hakata neid teenuseid oma rakenduses pakkuma.

Näiteks soovite kuvada ilmaennustuse teavet, mida pole vaja oma rakenduses andmete kogumiseks, töötlemiseks ja renderdamiseks. Teenuseid saate osta inimestelt, kes on juba sellist teavet töötlenud ja avaldanud.

Veebiteenused võimaldavad meil selliseid rakendusi teha.

Vaatleme näiteks järgmist veebiteenust

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

See annab ettevõtte aktsia väärtuse.

Leiame Google'i aktsia hinna (sümbol: GOOG)

Vastuse XML annab aktsia hinna.

Seda veebiteenust saab kutsuda tarkvararakendus, kasutades SOAP- või HTTP-protokolli.

Veebiteenuse protokollid

Veebiteenuseid saab rakendada mitmel viisil, kuid järgmised kaks on populaarsed juurutamisviisid.

  1. SOAP (lihtne objekti juurdepääsuprotokoll)
  2. REST (esindusliku riigi ülekande arhitektuur)

SEEP

SOAP on W3C standardi poolt määratletud standardprotokoll veebiteenuse taotluste ja vastuste saatmiseks ja vastuvõtmiseks.

SOAP kasutab päringu saatmiseks ja vastuvõtmiseks XML-vormingut ning seetõttu on andmed platvormist sõltumatud andmed. SOAP-sõnumeid vahetatakse pakkuja rakenduste ja vastuvõtva rakenduse vahel SOAP-i ümbristes.

Kuna SOAP kasutab lihtsat http-transpordiprotokolli, ei blokeeri tulemüürid selle sõnumeid.

Puhkus

REST tähendab esitlevat riigiülekannet; see on arhitektuur, mis töötab tavaliselt üle HTTP. REST-stiilis rõhutatakse klientide ja teenuste vahelist suhtlemist, mida täiustab piiratud arv operatsioone. REST on alternatiiv SOAP-le (Simple Object Access Protocol) ja selle asemel, et XML-i päringu jaoks kasutada, kasutab REST mõnel juhul lihtsat URL-i. Erinevalt SOAP-ist kasutavad RESTFUL-rakendused metainformatsiooni edastamiseks HTTP-i päiseid.

On mitmeid koode, mida REST kasutab selleks, et teha kindlaks, kas kasutajal on juurdepääs API-le või mitte, näiteks kood 200 või 201 näitab edukat suhtlust vastuse kehaga, samas kui 400 tähistab valet päringut või päringu URI ei vasta süsteemi API-dele. Kõiki API päringu parameetreid ja meetodi parameetreid saab saata muutujate POST või GET kaudu .

Rest API toetab WebServices API testimisel nii XML- kui ka JSON-vormingut. Tavaliselt eelistatakse seda mobiili- ja veebirakenduste jaoks, kuna see muudab rakenduse töö kiiremaks ja sujuvamaks

WSDL

WSDL (Web Services Description Language) on XML-põhine keel, mida kasutatakse veebiteenuse pakutavate teenuste kirjeldamiseks.

WSDL kirjeldab kõiki konkreetse veebiteenuse pakutavaid toiminguid XML-vormingus. Samuti määratletakse, kuidas teenuseid saab kutsuda, st millist sisendväärtust me peame pakkuma ja milline on vastuse vorm, mida see iga teenuse jaoks genereerib.

Kuidas testida veebiteenust?

Veebiteenuse testimiseks saate seda teha

  1. Testige käsitsi
  2. Looge oma automaatikakood
  3. Kasutage riiulivälist automatiseerimistööriista, näiteks SoapUI.

Veebiteenuste automatiseerimise testimine hõlmab järgmisi samme -

  1. Mõistke WSDL-faili
  2. Tehke kindlaks toimingud, mida konkreetne veebiteenus pakub
  3. Määrake XML-i päringu vorming, mille peame saatma
  4. Määrake vastuse XML-vorming
  5. Tööriista või koodi kirjutamine päringu saatmiseks ja vastuse kinnitamiseks

Oletame, et tahame testida veebiteenust, mis pakub valuuta teisendamise võimalust. See määrab praegused eri riikide valuutade vahetuskursid. Seda teenust, mida saame oma rakendustes kasutada väärtuste teisendamiseks ühest valuutast teise valuuta.

Vaatame nüüd ülaltoodud samme

1. kuni 4. samm: WSDL-i mõistmine ning toimingute ja XML-vormingute määramine

Valuutakonverteri WSDL-faili saab näha @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl), mis annab teavet valuutakonverterite veebiteenuste meetodite kohta, mida see toetab, parameetri, mille vajame, ja parameetrite tüüp

… jne

5. samm: tööriista või koodi kirjutamine päringu saatmiseks ja vastuse kinnitamiseks

SOAP-i veebiteenuse testimiseks on saadaval palju veebiteenuste testimise tööriistu. SoapUI on üks populaarsemaid API-tööriistu, mis aitab meil testida SOAP-i veebiteenuseid. Tegelikult võite kasutada mis tahes programmeerimiskeelt, mis on võimeline XML-i päringu veebiteenuse pakkuja rakendusele saatma üle HTTP ning on võimeline analüüsima ja kinnitama vastuse XML-i oodatud tulemuse suhtes. Selles veebiteenuste testimise õpetuses testime veebiteenust

  1. Java kasutamine
  2. SoapUI kasutamine

1. OSA) Veebiteenuse testimine Apache Axis2 API (Java) abil.

Üldiselt võtab veebiteenus päringu vastu ja saadab vastuse XML-vormingus.

Apache Axis2 API projekt on Java juurutamise API, mida kasutatakse veebiteenuste loomiseks nii serveripoolsele (teenusepakkuja) kui ka kliendipoolsele (teenuse tarbija) jaoks.

Axis2 on võimeline saatma SOAP-teateid ning võtab vastu ja töötleb SOAP-teateid. Veebiteenuse loomiseks võime API abil kirjutada väikese Java-programmi. Axis2 genereerib Java-programmist WSDL-i, mida kasutatakse veebiteenuse pakutavate teenuste edastamiseks. Saame sama Axis2 abil luua WSDL-failist Java-klassi (tüvi), mida saame kasutada kliendiprogrammina veebiteenuse päringu genereerimiseks, päringu saatmiseks teenuse lõpp-punkti ja vastuse töötlemiseks.

  1. Põhimõtteliselt loome lihtsa Java-programmi, milles instantsime stub-klassi.
  2. Tüki abil kutsume esile päringumeetodi, edastades kogu vajaliku teabe.
  3. Stub programm teisendab selle päringu XML-päringu vormingusse ja saadab sellele teenuse lõpp-punkti, mis loeb päringu läbi ja töötleb päringut ning saadab vastuse XML-vormingus.
  4. XML-vastus teisendatakse stub abil Java-klassi ja naaseb tegelikku programmi.

Vaatame ülaltoodud samme üksikasjalikult

Samm a) Laadige alla ax2 API @ https://axis.apache.org/axis2/Java/core/download.cgi ja määrake keskkonnamuutuja 'AXIS2_HOME'

Samm b) Looge kaust kõigi loodud artefaktide säilitamiseks

Nt: C: \ Axis \ Projects \ CurrencyConverter

Samm c) Avage käsuviip ja navigeerige kaustastruktuuri, kus soovite artefaktid genereerida, ja käivitage järgmine käsk, mis genereerib tüved

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

Samm d) Kui käsk on edukalt käivitatud, näete vajalike failidega kausta.

Samm e) Selle veebiteenuste testimise õpetuse järgmises etapis peame looma kliendiprogrammi, mille kaudu saadame loodud pärimust kasutades tegeliku päringu. Avage varjutus ja looge uus Java-projekt ning valige kaust, mille oleme loonud ülal.

Samm f) Lisage kõik axis2-ga seotud purgid projekti loomise teele, mis asub seal tarkvara2 kausta ax2 lib-kaustas

(näiteks: C: \ telg \ telg2-1,6,2 \ lib)

Samm g) Looge uus Java klass (nt: Client.Java) ja kohendage stub-objekt. Stub-objekti abil saame helistada kõigile konkreetse WebService'i toetatud meetoditele.

Klient. Java programmpakett org.apache.axis2.currencyconverter;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;importige org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;avaliku klassi klient {avalik staatiline void main (Java.lang.String args []) {proovige {// Looge tõmbeobjekt, edastades teenuse lõpp-punkti URL-iCurrencyConvertorStub stub = uus CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate on klass, mida peame kasutama mainides alates ja valuutani// ConversionRate-objekt on toimingu ConversionRate parameeterConversionRate conversionRate = uus ConversionRate ();conversionRate.setFromCurrency (Currency.USD);conversionRate.setToCurrency (Currency.INR);// Loo objekt ConversionRateResponse, mida kasutatakse vastuse püüdmiseks// helistage teenusele conversionRate, kasutades objekti objektiConversionRateResponse conversionRateResponse = stub.conversionRate (conversionRate);// Saame objekti ConversionRateResponse abil hankida teenuse ConversionRate vastuseSystem.out.println ("Konversioonimäär INR-st USD-ni: + conversionRateResponse.getConversionRateResult ());} saak (erand e) {e.printStackTrace ();}}}

2. OSA) Kuidas testida SoapUI veebiteenuse kasutamist

SoapUI-s

  1. Valige Fail> Uus seebiprojekt
  2. Sisestage projekti nimi ja WSDL-i URI asukoht
  3. Klõpsake nuppu OK
  1. Laiendage esimest taotlust ja topeltklõpsake nupul 'Request1'. See kuvab SOAP-päringu XML-vormingus.
  2. Sisestage valuuta Alates ja Valuuta
  3. Klõpsake nuppu Esita
  4. Parema külje paanil kuvatakse vastuse XML.

Nagu võite järeldada, kiirendab veebiteenuste testimise tööriistade nagu SoapUI kasutamine teie veebiteenuste automatiseerimise testimist. Seega on SoapUi järgnevates õpetustes meie õppimise keskmes.

Kokkuvõte

  • Tarkvararakendused suhtlevad ja vahetavad omavahel andmeid veebiteenuse abil
  • SOAP ja REST on kaks populaarset protokolli veebiteenuse loomiseks
  • SOAP toetab XML-põhist andmevahetust
  • REST toetab WebServices API testimise jaoks XML-i, Jsoni või andmevahetust lihtsas URL-is.
  • WSDL on XML-põhine keel, mida kasutatakse veebiteenuse pakutavate teenuste kirjeldamiseks. SOAP on määratletud WSDL-i abil.
  • Veebiteenuse testimiseks saate seda teha
    • Looge oma kood. Näiteks kasutage Java jaoks Axis2 API-d
    • Kasutage WebService'i testimisautomaatika tööriistu nagu SoapUI
  • Automatiseerimistööriistad, näiteks SoapUI, käivitavad teie veebiteenuste automatiseerimise testimise, nõuavad vähem kodeerimisvaeva kui Axis2 API abil oma koodi loomine

KKK

Mis vahe on WebService ja WebAPI vahel?

Veebiteenus

Veebi API

  • W3C määratletud kogu suhtlus ja andmevahetus põhineb XML-il
  • Veebiliidese suhtlus ja andmevahetus võivad olla XML, JSON või tavalised andmed
  • Sellel on määratletud standardid - WSDL
  • Kindlat standardit pole
  • Te ei saa andmeid tihendada, kuid saate HTML-i päringu tihendada
  • Saate andmeid tihendada
  • Näide: seep
  • Näide: REST

Lisateave veebi API testimise kohta

See veebiteenuste testimise õpetus on tehtud hr Narender Reddy Nukala kaastööga