Verkkopalveluiden testausopas: Kuinka testata? Opi esimerkin avulla

Mikä on WebService?

Web Services on mekanismi tai viestintäväline, jonka kautta kaksi sovellusta/konetta vaihtavat tietoja riippumatta niiden alleviivausarkkitehtuurista ja tekniikasta.

Mitä on verkkopalvelutestaus?

Verkkopalvelujen testaus on eräänlainen ohjelmistotestaus, joka vahvistaa verkkopalvelut. Web Services Testingin tarkoituksena on tarkistaa API:n (Application Program Interface) toimivuus, luotettavuus, suorituskyky ja turvallisuus. Web Service Testing on joissain tapauksissa samanlainen kuin yksikkötestaus. Voit testata verkkopalvelua manuaalisesti tai luoda oman automaatiokoodin tai käyttää valmiita automaatiotyökaluja, kuten Postman.

Miksi WebServiceä tarvitaan?

Yleensä ohjelmistosovellukset kehitetään ihmisten kulutettaviksi, jolloin henkilö lähettää pyynnön ohjelmistopalveluun, joka puolestaan ​​palauttaa vastauksen ihmisen luettavassa muodossa.

Nykyaikaisella tekniikan aikakaudella, jos haluat rakentaa ohjelmistosovelluksen, sinun ei tarvitse rakentaa kaikkea alusta alkaen. Saatavilla on paljon valmiita palveluita, jotka voit liittää sovellukseesi ja aloittaa näiden palvelujen tarjoamisen sovelluksessasi.

Haluat esimerkiksi näyttää säätiedot, joita sinun ei tarvitse kerätä, käsitellä ja renderöidä sovelluksesi tietoja. Palveluja voi ostaa henkilöiltä, ​​jotka ovat jo vakiintuneet käsittelemään ja julkaisemaan tällaisia ​​tietoja.

Verkkopalveluiden avulla voimme tehdä tällaisia ​​toteutuksia.

Harkitse esimerkkinä seuraavaa WebServiceä

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

Se antaa osakkeen arvon yritykselle.

Etsitään osakkeen hinta Googlelle (Symboli: GOOG )

Verkkopalvelun testaus

Vastaus XML antaa osakekurssin.

Verkkopalvelun testaus

Tämä WebService voi kutsua SOAP- tai HTTP-protokollaa käyttävä ohjelmistosovellus.

Web Service Protocols

Web Services voidaan toteuttaa eri tavoin, mutta seuraavat kaksi ovat suosittuja toteutusmenetelmiä.

  1. SOAP (yksinkertainen Object Access Protocol)
  2. REST (Representational State Transfer -arkkitehtuuri)

SAIPPUA

SOAP on W3C-standardin määrittelemä standardiprotokolla verkkopalvelupyyntöjen ja -vastausten lähettämiseen ja vastaanottamiseen.

SOAP käyttää XML-muodossa pyynnön lähettämiseen ja vastaanottamiseen ja näin ollen data on alustasta riippumatonta dataa. SOAP-sanomia vaihdetaan palveluntarjoajan sovellusten ja vastaanottavan sovelluksen välillä SOAP-kuorien sisällä.

Koska SOAP käyttää yksinkertaista http-siirtoprotokollaa, palomuurit eivät estä sen viestejä.

REST

REST tarkoittaa REpresentational State Transfer; se on arkkitehtuuri, joka yleensä toimii HTTP:n yli. REST-tyyli korostaa asiakkaiden ja palveluiden välistä vuorovaikutusta, jota tehostetaan rajallisella toimintojen määrällä. REST on vaihtoehto SOAP:lle (Simple Object Access Protocol) ja XML:n sijaan REST käyttää joissakin tapauksissa yksinkertaista URL-osoitetta. Toisin kuin SOAP, RESTFUL-sovellukset käyttävät HTTP-otsikoita metatietojen kuljettamiseen.

On olemassa useita koodeja, joita REST käyttää määrittääkseen, onko käyttäjällä pääsy API:iin vai ei, kuten koodi 200 tai 201 osoittaa onnistuneen vuorovaikutuksen vastauksen rungon kanssa, kun taas 400 osoittaa huonoa pyyntöä tai pyynnön URI ei vastaa järjestelmän API:ita. Kaikki API-pyyntöparametrit ja menetelmäparametrit voidaan lähettää jommankumman kautta POST or SAA muuttujia.

Rest API tukee sekä XML- että JSON-muotoa WebServices API -testauksessa. Sitä suositellaan yleensä Puhelinnumero ja verkkosovelluksia, koska se tekee sovelluksista nopeampaa ja sujuvampaa

wsdl

WSDL (Web Services Description Language) on XML-pohjainen kieli, jota käytetään kuvaamaan verkkopalvelun tarjoamia palveluita.

WSDL kuvaa kaikki tietyn verkkopalvelun tarjoamat toiminnot XML-muodossa. Se määrittelee myös, kuinka palveluita voidaan kutsua, eli mikä syöttöarvo meidän on annettava ja minkä muotoinen vastaus tulee tuottaa kullekin palvelutyypille.

Kuinka testata verkkopalvelua?

Voit testata verkkopalvelua

  1. Testaa manuaalisesti
  2. Luo oma automaatiokoodisi
  3. Käytä valmiita automaatiotyökaluja, kuten SoapUI.

Web Services Automation Testing sisältää seuraavat vaiheet:

  1. Ymmärrä WSDL-tiedosto
  2. Määritä tietyn verkkopalvelun tarjoamat toiminnot
  3. Määritä XML-pyyntömuoto, joka meidän on lähetettävä
  4. Määritä vastauksen XML-muoto
  5. Käytä työkalua tai kirjoittamalla koodia pyynnön lähettämiseen ja vastauksen vahvistamiseen

Oletetaan, että haluamme testata verkkopalvelua, joka tarjoaa valuuttamuunnostoiminnon. Se näyttää nykyiset vaihtokurssit eri maiden valuuttojen välillä. Tätä palvelua voimme käyttää sovelluksissamme arvojen muuntamiseen valuutasta toiseen.

Katsotaan nyt yllä olevia vaiheita

Vaiheet 1–4: WSDL:n ymmärtäminen ja toimintojen ja XML-muotojen määrittäminen

valuutta Convertor WSDL-tiedosto näkyy @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl), joka antaa tiedot valuutasta Convertor verkkopalvelumenetelmät, joita se tukee, parametri, jonka tarvitsemme, ja parametrien tyyppi jne.

WSDL ja operaatiot ja XML-muodot

WSDL ja operaatiot ja XML-muodot

Vaihe 5: Käytä työkalua tai kirjoitat koodia pyynnön lähettämiseen ja vastauksen vahvistamiseen

SOAP-verkkopalvelun testaamiseen on saatavilla monia WebService Test -työkaluja. SoapUI on yksi suosituimmista API-työkalu joka auttaa meitä testaamaan SOAP-verkkopalveluita. Itse asiassa voit käyttää mitä tahansa ohjelmointikieltä, joka pystyy lähettämään XML-pyynnön web-palveluntarjoajan sovellukselle http:n kautta ja jäsentämään ja vahvistamaan vastauksen XML:n odotettuun tulokseen nähden. Tässä Web Services Testing -opetusohjelmassa testaamme WebServiceä

  1. Käyttäminen Java
  2. SoapUI:n käyttö

OSA 1) WebService-testaus Apache Axis2 API:lla (Java).

Yleensä verkkopalvelu ottaa pyynnön ja lähettää vastauksen XML-muodossa.

Apache Axis2 API -projekti on a Java toteutus API, jota käytetään luomaan Web-palvelut sekä palvelinpuolelle (palveluntarjoaja) että asiakaspuolelle (palvelun kuluttaja).

Axis2 pystyy lähettämään SOAP-viestejä ja vastaanottamaan ja käsittelemään SOAP-viestejä. Voimme kirjoittaa pienen Java sovellusliittymän avulla verkkopalvelun luomiseen. Axis2 luo WSDL:n kohteesta Java ohjelma, jota käytetään viestimään verkkopalvelun tarjoamista palveluista. Voimme käyttää samaa Axis2:ta luomaan Java luokka (stub) WSDL-tiedostosta, jota voimme käyttää asiakasohjelmana verkkopalvelupyynnön luomiseen, pyynnön lähettämiseen palvelun päätepisteeseen ja vastauksen käsittelemiseen.

  1. Periaatteessa luomme yksinkertaisen Java ohjelma, jossa instantoimme tynkäluokan.
  2. Tynkin avulla kutsumme pyyntömenetelmän välittämällä kaikki vaaditut tiedot.
  3. Stub-ohjelma muuntaa pyynnön XML-pyyntömuotoon ja lähettää sille palvelun päätepisteen, joka lukee pyynnön ja käsittelee pyynnön ja lähettää vastauksen XML-muodossa.
  4. XML-vastaus muunnetaan muotoon Java luokka tynkä kerrallaan ja palasi varsinaiseen ohjelmaan.

Katsotaanpa yllä olevia vaiheita yksityiskohtaisesti

Vaihe a) Lataa axis2 API @ https://axis.apache.org/axis2/Java/core/download.cgi & Aseta ympäristömuuttuja 'AXIS2_HOME'

WebService-testaus Apache Axis2 API:lla (Java)

Vaihe b) Luo kansio, jossa säilytetään kaikki luodut esineet

Esimerkki: C:\Axis\Projects\CurrencyConverter

Vaihe c) Avaa komentokehote ja siirry kansiorakenteeseen, johon haluat luoda artefaktit, ja suorita seuraava komento, joka luo tyngät

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

WebService-testaus Apache Axis2 API:lla (Java)

Vaihe d) Kun komento on suoritettu onnistuneesti, näet kansion vaadituilla tiedostoilla.

WebService-testaus Apache Axis2 API:lla (Java)

Vaihe e) Tämän Web Services Testing -opetusohjelman seuraavassa vaiheessa meidän on luotava asiakasohjelma, jonka kautta lähetämme varsinaisen pyynnön käyttämällä luotuja tynkkiä. Avaa pimennys ja luo uusi Java projekti ja valitse yllä luomamme kansio.

WebService-testaus Apache Axis2 API:lla (Java)

Vaihe f) Lisää kaikki axis2:een liittyvät purkit projektin rakennuspolkuun, joka on siellä axis2-ohjelmistokansion lib-kansiossa

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

WebService-testaus Apache Axis2 API:lla (Java)

Vaihe g) Luo uusi Java luokka (esim.: Asiakas.Java) ja ilmentymä tynkäobjekti. Stub-objektia käyttämällä voimme kutsua kaikki tietyn WebServicen tuetut menetelmät.

WebService-testaus Apache Axis2 API:lla (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();
      }
    }
}

OSA 2) Testaaminen SoapUI-verkkopalvelun avulla

SoapUI:ssa

  1. Siirry kohtaan Tiedosto > Uusi saippuaprojekti
  2. Anna projektin nimi ja WSDL URI -sijainti
  3. OK

Testaa käyttämällä SoapUI-verkkopalvelua

  1. Laajenna ensimmäinen pyyntö ja kaksoisnapsauta 'Request1'. Se näyttää SOAP-pyynnön XML-muodossa.
  2. Syötä Valuuttasta ja Valuuttaan
  3. Napsauta Lähetä-painiketta
  4. Response XML näkyy oikeanpuoleisessa ruudussa.

Testaa käyttämällä SoapUI-verkkopalvelua

Kuten saatat päätellä, WebService Test -työkalujen, kuten SoapUI, käyttö nopeuttaa Web Services Automation Testing -testausta. Siksi SoapUi on oppimisemme painopiste seuraavissa opetusohjelmissa.

Yhteenveto

  • Ohjelmistosovellukset viestivät ja vaihtavat tietoja keskenään WebServicen avulla
  • SOAP ja REST ovat kaksi suosittua protokollaa WebServicen luomiseen
  • SOAP tukee XML-pohjaista tiedonvaihtoa
  • REST tukee XML-, Json- tai tiedonvaihtoa yksinkertaisessa URL-osoitteessa WebServices API -testausta varten.
  • WSDL on XML-pohjainen kieli, jota käytetään kuvaamaan verkkopalvelun tarjoamia palveluita. SOAP määritellään WSDL:llä.
  • Voit testata WebServiceä
    • Luo oma koodi. Käytä esimerkiksi Axis2 API:ta Java
    • Käytä WebService Test Automation -työkaluja, kuten SoapUI
  • Automaatiotyökalut, kuten SoapUI, käynnistävät Web Services Automation Testing -työsi nopeasti, vaativat vähemmän koodaustyötä kuin oman koodin luominen Axis2 API:lla

FAQ

Web-palvelu Web-sovellusliittymä
W3C:n määrittelemä kaikki viestintä ja tiedonvaihto perustuvat XML:ään Web API -viestintä ja tiedonvaihto voivat olla XML-, JSON- tai tavallista dataa
Sillä on määritellyt standardit – WSDL Ei määriteltyä standardia
Et voi pakata tietoja, mutta voit pakata HTML-pyynnön Voit pakata tiedot
Esimerkki: SOAP Esimerkki: REST

Lisätietoja Web API testaus

Tämä verkkopalveluiden testausopas on tehty Narender Reddy Nukalan panoksen avulla