Žiniatinklio paslaugų testavimo pamoka: kaip išbandyti? Sužinokite su pavyzdžiu

Turinys:

Anonim

Kas yra „WebService“?

Žiniatinklio paslaugos yra ryšio mechanizmas arba terpė, per kurią dvi programos / mašinos keisis duomenimis, neatsižvelgiant į jų pabraukimo architektūrą ir technologijas.

Kas yra žiniatinklio paslaugų testavimas?

„Web Services Testing“ yra programinės įrangos testavimo tipas, patvirtinantis žiniatinklio paslaugas. „Web Services Testing“ tikslas yra patikrinti API („Application Program Interface“) funkcionalumą, patikimumą, našumą ir saugumą. „Web Service Testing“ kai kuriais atvejais yra panašus į vieneto testavimą. Galite išbandyti žiniatinklio paslaugą rankiniu būdu arba susikurti savo automatikos kodą arba naudoti automatinį automatinį įrankį, pvz., „Postman“.

Kodėl reikalinga „WebService“?

Paprastai programinės įrangos programos yra skirtos vartoti žmonėms, kai asmuo siunčia užklausą programinės įrangos tarnybai, kuri savo ruožtu pateikia atsakymą žmonėms skaitomu formatu.

Šiuolaikinėmis technologijų epochomis, jei norite sukurti programinę įrangą, nereikia kurti visų ir visko nuo nulio. Yra daugybė parengtų paslaugų, kurias galite prijungti prie savo programos, ir galite pradėti teikti tas paslaugas savo programoje.

Pvz., Norite rodyti orų prognozės informaciją, kurios jums nereikia rinkti, apdoroti ir pateikti duomenų jūsų programoje. Paslaugas galite įsigyti iš žmonių, kurie jau gerai įsitvirtino tvarkydami ir skelbdami tokio pobūdžio duomenis.

Žiniatinklio paslaugos leidžia mums atlikti tokio pobūdžio diegimą.

Kaip pavyzdį apsvarstykite šią „WebService“

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

Tai suteikia bendrovės akcijų vertę.

Suraskime „Google“ akcijų kainą (simbolis: GOOG)

Atsakymas XML pateikia akcijų kainą.

Šią „WebService“ gali iškviesti programinė įranga, naudodama SOAP arba HTTP protokolą.

Žiniatinklio paslaugų protokolai

Žiniatinklio paslaugos gali būti diegiamos skirtingais būdais, tačiau šie du yra populiariausi diegimo metodai.

  1. SOAP (paprastas prieigos prie objekto protokolas)
  2. REST (reprezentacinė valstybės perdavimo architektūra)

MUILAS

SOAP yra W3C standarto apibrėžtas standartinis protokolas, skirtas siųsti ir gauti žiniatinklio paslaugų užklausas ir atsakymus.

SOAP naudoja XML formatą užklausai siųsti ir gauti, taigi duomenys yra nepriklausomi nuo platformos. SOAP pranešimais keičiamasi tarp teikėjo programų ir gaunančiųjų programų per SOAP vokus.

Kadangi SOAP naudoja paprastą http perdavimo protokolą, užkardos neužblokuoja jo pranešimų.

POILSIS

REST - tai reprezentacinis valstybės perdavimas; tai yra architektūra, paprastai veikianti per HTTP. „REST“ stilius pabrėžia klientų ir paslaugų sąveiką, kurią sustiprina atlikdamas ribotą operacijų skaičių. REST yra alternatyva SOAP (paprastam objekto prieigos protokolui) ir vietoj to, kad užklausai būtų naudojama XML, REST kai kuriais atvejais naudoja paprastą URL. Skirtingai nuo SOAP, „RESTFUL“ programos naudoja HTTP sukūrimą antraštėse, kad būtų perduodama meta informacija.

Yra įvairių kodų, kuriuos REST naudoja norėdamas nustatyti, ar vartotojas turi prieigą prie API, ar ne, pavyzdžiui, 200 ar 201 kodas rodo sėkmingą sąveiką su atsakymo tekstu, o 400 nurodo blogą užklausą arba užklausos URI neatitinka API API. Visi API užklausos parametrai ir metodo parametrai gali būti siunčiami per POST arba GET kintamuosius.

„Rest API“ palaiko tiek „XML“, tiek „JSON“ formatą, skirtą „WebServices“ API testavimui. Paprastai tai teikiama mobiliesiems ir žiniatinklio programoms, nes tai leidžia programoms veikti greičiau ir sklandžiau

WSDL

WSDL („Web Services Description Language“) yra XML pagrindu sukurta kalba, kuri bus naudojama aprašant žiniatinklio paslaugos teikiamas paslaugas.

WSDL XML formatu apibūdina visas operacijas, kurias siūlo konkreti žiniatinklio tarnyba. Taip pat apibrėžiama, kaip galima skambinti paslaugoms, ty kokią įvesties vertę turime pateikti ir koks bus atsakymo formatas, kurį ji sukurs kiekvienai paslaugai.

Kaip išbandyti žiniatinklio paslaugą?

Norėdami išbandyti žiniatinklio paslaugą, galite

  1. Patikrinkite rankiniu būdu
  2. Sukurkite savo automatikos kodą
  3. Naudokite automatinį automatinį įrankį, pvz., „SoapUI“.

Žiniatinklio paslaugų automatikos testavimas apima šiuos veiksmus:

  1. Supraskite WSDL failą
  2. Nustatykite operacijas, kurias teikia tam tikra interneto paslauga
  3. Nustatykite XML užklausos formatą, kurį turime išsiųsti
  4. Nustatykite atsakymo XML formatą
  5. Naudojant įrankį ar rašymo kodą užklausai siųsti ir atsakymui patvirtinti

Tarkime, kad norime išbandyti žiniatinklio paslaugą, kuri teikia valiutos konvertavimo priemonę. Tai nustatys dabartinius skirtingų šalių valiutų perskaičiavimo kursus. Šią paslaugą galime naudoti savo programose konvertuodami vertes iš vienos valiutos į kitą.

Dabar pažvelkime į aukščiau nurodytus veiksmus

1–4 žingsniai: WSDL supratimas ir operacijų bei XML formatų nustatymas

Valiutos keitiklio WSDL failą galima pamatyti @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl), kuris suteiks informaciją apie „Valiutos keitiklio“ interneto paslaugų metodus, kuriuos jis palaikys, parametrą, kurį mums reikia perduoti, ir parametrų tipas

... ir pan

5 žingsnis: įrankio ar kodo rašymas užklausai siųsti ir atsakymui patvirtinti

Yra daugybė „WebService Test“ įrankių, kuriais galima patikrinti SOAP žiniatinklio paslaugą. „SoapUI“ yra vienas iš populiariausių API įrankių, kuris padės mums išbandyti SOAP žiniatinklio paslaugas. Tiesą sakant, galite naudoti bet kurią programavimo kalbą, kuri gali siųsti XML užklausą žiniatinklio paslaugų teikėjo programai per http ir sugebėti išanalizuoti ir patvirtinti atsakymo XML pagal laukiamą rezultatą. Šioje „Web Services Testing“ pamokoje išbandysime „WebService“

  1. Naudojant „Java“
  2. Naudojant „SoapUI“

1 DALIS) „WebService“ testavimas naudojant „Apache Axis2“ API („Java“).

Paprastai žiniatinklio tarnyba priima užklausą ir siunčia atsakymą XML formatu.

„Apache Axis2“ API projektas yra „Java“ diegimo API, kuri bus naudojama kuriant žiniatinklio paslaugas tiek serverio (paslaugų teikėjo), tiek kliento (paslaugų vartotojo) pusėms.

„Axis2“ gali siųsti SOAP pranešimus ir gauna ir apdoroja SOAP pranešimus. Mes galime parašyti mažą „Java“ programą naudodami API, kad sukurtume žiniatinklio paslaugą. „Axis2“ sugeneruos WSDL iš „Java“ programos, kuri bus naudojama žiniatinklio tarnybos siūlomoms paslaugoms perduoti. Mes galime naudoti tą pačią „Axis2“, kad generuotume „Java“ klasę (stub) iš WSDL failo, kurią galime naudoti kaip kliento programą, kad sugeneruotume žiniatinklio paslaugos užklausą, išsiųstume užklausą į paslaugos galutinį tašką ir apdorotume atsakymą.

  1. Iš esmės sukursime paprastą „Java“ programą, kurioje mes iš karto sukursime „stub“ klasę.
  2. Naudodamiesi „stub“, mes iškviesime užklausos metodą, perduodami visą reikalingą informaciją.
  3. „Stub“ programa konvertuos šią užklausą į XML užklausos formatą ir išsiųs jai paslaugos galutinį tašką, kuris perskaitys užklausą, apdoros užklausą ir išsiųs atsakymą XML formatu.
  4. XML atsakymas bus konvertuojamas į „Java“ klasę ir grįš į tikrąją programą.

Pažvelkime į aukščiau nurodytus veiksmus išsamiai

A žingsnis. Atsisiųskite „axis2“ API @ https://axis.apache.org/axis2/Java/core/download.cgi ir nustatykite aplinkos kintamąjį „AXIS2_HOME“

B žingsnis. Sukurkite aplanką, kad išsaugotumėte visus sugeneruotus artefaktus

Pvz .: C: \ Axis \ Projects \ CurrencyConverter

C žingsnis. Atidarykite komandų eilutę ir eikite į aplankų struktūrą, kurioje norite sugeneruoti artefaktus, ir paleiskite šią komandą, kuri sukurs kamienus

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

D žingsnis) Kai komanda bus sėkmingai paleista, pamatysite aplanką su reikalingais failais.

E žingsnis) Kitame šios žiniatinklio paslaugų testavimo pamokos etape turime sukurti kliento programą, per kurią išsiųsime tikrąją užklausą naudodami sugeneruotus kamienus. Atidarykite užtemimą ir sukurkite naują „Java“ projektą ir pasirinkite aplanką, kurį sukūrėme aukščiau.

F žingsnis. Pridėkite visus „ax2“ susijusius stiklainius prie projekto sukūrimo kelio, kuris bus „ax2“ programinės įrangos aplanko lib aplanke.

(pvz .: C: \ Axis \ axis2-1.6.2 \ lib)

G žingsnis) Sukurkite naują „Java“ klasę (pvz .: „Client.Java“) ir iš karto nustatykite „stub“ objektą. Naudodami „stub“ objektą galime iškviesti visus palaikomus tam tikros „WebService“ metodus.

Klientas. „Java“ programapaketas org.apache.axis2.currencyconverter;importuoti org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;importuoti org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;importuoti org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;viešosios klasės klientas {public static void main (Java.lang.String args []) {bandyti {// Sukurkite „stub“ objektą pervesdami paslaugos pabaigos taško URLCurrencyConvertorStub stub = new CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate yra klasė, kurią turime naudoti paminėdami nuo ir iki valiutos// Objektas „ConversionRate“ bus operacijos „ConversionRate“ parametrasConversionRate conversionRate = new ConversionRate ();conversionRate.setFromCurrency (Currency.USD);conversionRate.setToCurrency (Currency.INR);// Sukurkite objektą ConversionRateResponse, kuris bus naudojamas atsakui sugauti// iškvieskite „conversionRate“ paslaugą naudodami „stub“ objektąConversionRateResponse conversionRateResponse = stub.conversionRate (conversionRate);// Mes galime naudoti objektą conversionRateResponse, kad gautume „ConversionRate“ paslaugos atsakymąSystem.out.println ("Konversijos rodiklis nuo INR iki USD: + conversionRateResponse.getConversionRateResult ());} laimikis (e išimtis) {e.printStackTrace ();}}}

2 DALIS) Kaip išbandyti naudojant „SoapUI Web Service“

„SoapUI“

  1. Eikite į Failas> Naujas muilo projektas
  2. Įveskite projekto pavadinimą ir WSDL URI vietą
  3. Spustelėkite Gerai
  1. Išskleiskite pirmąją užklausą ir dukart spustelėkite „Request1“. Jis parodys SOAP užklausą XML formatu.
  2. Įveskite nuo valiutos ir iki valiutos
  3. Spustelėkite mygtuką pateikti
  4. Atsakymo XML bus rodomas dešinėje pusėje.

Kaip galite padaryti išvadą, naudojimasis „WebService Test“ įrankiais, pvz., „SoapUI“, pagreitina jūsų žiniatinklio paslaugų automatizavimo bandymo pastangas. Taigi „SoapUi“ bus pagrindinis dėmesys mūsų mokymuose sekančiose pamokose.

Santrauka

  • Programinės įrangos programos bendrauja ir keičiasi duomenimis tarpusavyje naudodamosi „WebService“
  • SOAP ir REST yra 2 populiarūs protokolai, skirti sukurti „WebService“
  • SOAP palaiko duomenų mainus XML pagrindu
  • „REST“ palaiko XML, „Json“ arba keitimąsi duomenimis paprastu URL, skirtu „WebServices“ API testavimui.
  • WSDL yra XML kalba paremta kalba, kuri bus naudojama apibūdinant žiniatinklio paslaugos teikiamas paslaugas. SOAP apibrėžiamas naudojant WSDL.
  • Norėdami išbandyti „WebService“, galite
    • Susikurkite savo kodą. Pavyzdžiui, „Java“ naudokite „Axis2“ API
    • Naudokite „WebService Test Automation“ įrankius, pvz., „SoapUI“
  • Automatizavimo įrankiai, pvz., „SoapUI“, palengvins jūsų žiniatinklio paslaugų automatizavimo testavimo veiksmus, pareikalaus mažiau kodavimo pastangų, nei kuriant savo kodą naudojant „Axis2“ API

DUK

Kuo skiriasi „WebService“ ir „WebAPI“?

Žiniatinklio tarnyba

Žiniatinklio API

  • Apibrėžta W3C, visi ryšiai ir keitimasis duomenimis yra pagrįsti XML
  • Žiniatinklio API ryšys ir keitimasis duomenimis gali būti XML, JSON arba paprastieji duomenys
  • Ji turi apibrėžtus standartus - WSDL
  • Nėra apibrėžto standarto
  • Negalite suglaudinti duomenų, bet galite suglaudinti HTML užklausą
  • Galite suspausti duomenis
  • Pavyzdys: muilas
  • Pavyzdys: poilsis

Sužinokite daugiau apie žiniatinklio API testavimą

Ši žiniatinklio paslaugų testavimo pamoka yra įmanoma su Narender Reddy Nukala indėliu