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

Mis on WebService?

Veebiteenused on mehhanism või suhtlusvahend, mille kaudu kaks rakendust/masinat vahetavad andmeid sõltumata nende allajoonitud arhitektuurist ja tehnoloogiast.

Mis on veebiteenuse testimine?

Veebiteenuste testimine on tarkvara testimise tüüp, mis kinnitab veebiteenuseid. Veebiteenuste testimise eesmärk on kontrollida API (rakendusprogrammi liidese) funktsionaalsust, töökindlust, jõudlust ja turvalisust. Veebiteenuse testimine sarnaneb mõnel juhul üksuse testimisega. Saate testida veebiteenust käsitsi või luua oma automatiseerimiskoodi või kasutada riiulivälist automatiseerimistööriista, näiteks Postman.

Miks on veebiteenust vaja?

Üldiselt on tarkvararakendused välja töötatud inimeste tarbimiseks, kui inimene saadab päringu tarkvarateenusele, mis omakorda tagastab vastuse inimloetavas vormingus.

Kaasaegsel tehnoloogiaajastul, kui soovite luua tarkvararakendust, ei pea te kõike nullist üles ehitama. Saadaval on palju valmisteenuseid, mille saate oma rakendusega ühendada ja saate hakata neid teenuseid oma rakenduses pakkuma.

Näiteks soovite kuvada ilmateate teavet, mida te ei pea oma rakenduses olevate andmete kogumiseks, töötlemiseks ja renderdamiseks. Teenust saate osta inimestelt, kes on selliste andmete töötlemisel ja avaldamisel juba end hästi kogenud.

Veebiteenused võimaldavad meil selliseid rakendusi teha.

Näiteks vaadake järgmist WebService'i

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

See annab ettevõttele aktsia väärtuse.

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

Veebiteenuste testimine

Vastus XML annab aktsia hinna.

Veebiteenuste testimine

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

Veebiteenuse protokollid

Veebiteenuseid saab rakendada erineval viisil, kuid järgmised kaks on populaarsed juurutusviisid.

  1. SOAP (lihtne objekti juurdepääsuprotokoll)
  2. REST (esinduslik olekuteabe arhitektuur)

SOAP

SOAP on W3C standardiga määratletud standardprotokoll veebiteenuse päringute ja vastuste saatmiseks ja vastuvõtmiseks.

SOAP kasutab XML-vormingus päringu saatmiseks ja vastuvõtmiseks ja seega on andmed platvormist sõltumatud andmed. SOAP-sõnumeid vahetatakse pakkuja rakenduste ja vastuvõtva rakenduse vahel SOAP-ümbrikus.

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

REST

REST tähendab REpresentational State Transfer; see on arhitektuur, mis töötab üldiselt HTTP kaudu. REST-stiil rõhutab klientide ja teenuste vahelist suhtlust, mida täiustab piiratud arv toiminguid. REST on alternatiiv SOAP-ile (Simple Object Access Protocol) ja XML-i asemel kasutab REST mõnel juhul lihtsat URL-i. Erinevalt SOAP-ist kasutavad RESTFUL rakendused metateabe edastamiseks HTTP päiseid.

REST kasutab erinevaid koode, et teha kindlaks, kas kasutajal on juurdepääs API-le või mitte, nagu kood 200 või 201 näitab edukat suhtlemist vastuse kehaga, samas kui 400 näitab halba päringut või päringu URI ei vasta süsteemi API-dele. Kõik API päringu parameetrid ja meetodi parameetrid saab saata kummagi kaudu POST or GET muutujad.

Rest API toetab WebServices API testimiseks nii XML- kui ka JSON-vormingut. Tavaliselt eelistatakse seda mobiilne ja veebirakendusi, kuna see muudab rakenduse töö kiiremaks ja sujuvamaks

wsdl

WSDL (veebiteenused 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ääratleb see, kuidas teenuseid saab kutsuda, st millist sisendväärtust peame pakkuma ja milline on vastuse vorming, mille see iga teenuseliigi jaoks genereerib.

Kuidas veebiteenust testida?

Veebiteenuse testimiseks saate

  1. Testige käsitsi
  2. Looge oma automatiseerimiskood
  3. Kasutage valmisautomaatikatööriista, nagu SoapUI.

Veebiteenuste automatiseerimise testimine hõlmab järgmisi samme –

  1. Saage aru WSDL-failist
  2. Määrake toimingud, mida konkreetne veebiteenus pakub
  3. Määrake XML-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 konverteerimisvõimalust. See näitab erinevate riikide valuutade praeguseid ümberarvestuskursse. Seda teenust saame oma rakendustes kasutada väärtuste konverteerimiseks ühest valuutast teise.

Vaatame nüüd ülaltoodud samme

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

valuuta Convertor WSDL-faili saab näha @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl), mis annab teavet valuuta kohta Convertor veebiteenuse meetodid, mida see toetab, parameeter, mida peame läbima, ja parameetrite tüüp jne.

WSDL ja tehte määramine ja XML-vormingud

WSDL ja tehte määramine ja XML-vormingud

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

SOAP-i veebiteenuse testimiseks on saadaval palju WebService Testi tööriistu. SoapUI on üks populaarsemaid API tööriist mis aitab meil SOAP-i veebiteenuseid testida. Tegelikult saate kasutada mis tahes programmeerimiskeelt, mis on võimeline saatma XML-i päringu veebiteenuse pakkuja rakendusele http kaudu ja suudab vastuse XML-i oodatava tulemuse suhtes sõeluda ja kinnitada. Selles veebiteenuste testimise õpetuses testime veebiteenust

  1. Kasutamine Java
  2. SoapUI kasutamine

1. OSA) WebService'i testimine Apache Axis2 API abil (Java).

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

Apache Axis2 API projekt on a Java juurutamise API, mida kasutatakse veebiteenuste loomiseks nii serveri (teenusepakkuja) kui ka kliendi poole (teenuse tarbija) jaoks.

Axis2 on võimeline saatma SOAP-sõnumeid ning võtab vastu ja töötleb SOAP-sõnumeid. Võime kirjutada väikese Java programm, mis kasutab veebiteenuse loomiseks API-d. Axis2 genereerib WSDL-i Java programm, mida kasutatakse veebiteenuse pakutavate teenuste edastamiseks. Selle genereerimiseks saame kasutada sama Axis2 Java klass (stub) WSDL-failist, 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 programm, milles instantseerime tünniklassi.
  2. Tünni abil käivitame päringumeetodi, edastades kogu nõutava teabe.
  3. Stub-programm teisendab selle päringu XML-vormingusse ja saadab sellele teenuse lõpp-punkti, mis loeb päringu ja töötleb päringu ning saadab vastuse XML-vormingus.
  4. XML-vastus teisendatakse Java klasside kaupa ja naasis tegeliku programmi juurde.

Vaatame ülaltoodud samme üksikasjalikult

Samm a) Laadige alla axis2 API @ https://axis.apache.org/axis2/Java/core/download.cgi & Määra keskkonnamuutujaks 'AXIS2_HOME'

Veebiteenuse testimine Apache Axis2 API abil (Java)

Samm b) Looge kaust kõigi loodud artefaktide hoidmiseks

Näiteks: C:\Axis\Projects\CurrencyConverter

Samm c) Avage käsuviip ja navigeerige kaustastruktuuri, kuhu soovite artefakte luua, ja käivitage järgmine käsk, mis genereerib tünnid

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

Veebiteenuse testimine Apache Axis2 API abil (Java)

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

Veebiteenuse testimine Apache Axis2 API abil (Java)

Samm e) Selle veebiteenuste testimise õpetuse järgmises etapis peame looma klientprogrammi, mille kaudu saadame genereeritud tünnide abil tegeliku päringu. Avage varjutus ja looge uus Java projekt ja valige kaust, mille oleme ülal loonud.

Veebiteenuse testimine Apache Axis2 API abil (Java)

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

(nt: C:\Axis\axis2-1.6.2\lib)

Veebiteenuse testimine Apache Axis2 API abil (Java)

Samm g) Looge uus Java klass (nt: klient.Java) ja eksemplari tünniobjekti. Tugiobjekti kasutades saame kutsuda kõiki konkreetse WebService'i toetatud meetodeid.

Veebiteenuse testimine Apache Axis2 API abil (Java)

Client.Java Program
package 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;

public class Client {
 public static void main(Java.lang.String args[]) {

  try {

       //Create the stub object by passing the service end point url
       CurrencyConvertorStub stub = new CurrencyConvertorStub("http://www.webservicex.net/CurrencyConvertor.asmx");
       //ConversionRate is the class which we have to use mention the from and to currency
       //ConversionRate object will be the parameter for the conversionRate operation
       ConversionRate conversionRate = new ConversionRate();
       conversionRate.setFromCurrency(Currency.USD);
       conversionRate.setToCurrency(Currency.INR);

       //Create the ConversionRateResponse object, which is going to be used to catch the response
       //call the conversionRate service using the stub object
       ConversionRateResponse conversionRateResponse = stub.conversionRate(conversionRate);

       //We can use the conversionRateResponse object to retrieve the response of the ConversionRate Service
       System.out.println("Conversion Rate from INR to USD : " + conversionRateResponse.getConversionRateResult());

       } catch (Exception e) {
       e.printStackTrace();
      }
    }
}

2. OSA) Testimine SoapUI veebiteenuse abil

SoapUI-s

  1. Avage Fail > Uus seebiprojekt
  2. Sisestage projekti nimi ja WSDL URI asukoht
  3. OK

Testige SoapUI veebiteenusega

  1. Laiendage esimest päringut ja topeltklõpsake 'Request1'. See kuvab SOAP-i päringu XML-vormingus.
  2. Sisestage Valuutast ja Valuutasse
  3. Klõpsake nuppu Esita
  4. Parempoolne paan kuvatakse vastuse XML-i.

Testige SoapUI veebiteenusega

Nagu võite järeldada, kiirendab WebService Testi tööriistade (nt SoapUI) kasutamine teie veebiteenuste automatiseerimise testimise jõupingutusi. Seetõttu on SoapUi järgmistes õpetustes meie õppimise keskmes.

kokkuvõte

  • Tarkvararakendused suhtlevad ja vahetavad omavahel andmeid, kasutades veebiteenust
  • SOAP ja REST on kaks populaarset protokolli veebiteenuse loomiseks
  • SOAP toetab XML-põhist andmevahetust
  • REST toetab WebServices API testimiseks XML-i, Json-i või andmete vahetamist lihtsas URL-is.
  • WSDL on XML-põhine keel, mida kasutatakse veebiteenuse pakutavate teenuste kirjeldamiseks. SOAP on määratletud WSDL-i abil.
  • WebService'i testimiseks saate
    • Looge oma kood. Kasutage näiteks Axis2 API-t Java
    • Kasutage WebService'i testimise automatiseerimise tööriistu, nagu SoapUI
  • Automatiseerimistööriistad, nagu SoapUI, käivitavad teie veebiteenuste automatiseerimise testimise jõupingutused ja nõuavad vähem kodeerimistööd, võrreldes oma koodi loomisega Axis2 API abil

KKK

Veebiteenus Veebi API
W3C definitsiooni järgi põhineb kogu side ja andmevahetus XML-il Veebi API side ja andmevahetus võivad olla XML-, JSON- või lihtandmed
Sellel on määratletud standardid – WSDL Pole määratletud standardit
Te ei saa andmeid tihendada, kuid saate HTML-i päringu tihendada Saate andmeid tihendada
Näide: SEEP Näide: REST

Lisateave Veebi API testimine

See veebiteenuste testimise õpetus on tehtud tänu hr Narender Reddy Nukala panusele