Výukový program pre testovanie webových služieb: Ako testovať? Učte sa na príklade

Obsah:

Anonim

Čo je to WebService?

Webové služby sú mechanizmom alebo médiom komunikácie, prostredníctvom ktorého si budú dve aplikácie / stroje vymieňať údaje bez ohľadu na ich podčiarknutú architektúru a technológiu.

Čo je testovanie webových služieb?

Testovanie webových služieb je typom testovania softvéru, ktorý overuje webové služby. Účelom Testovania webových služieb je skontrolovať funkčnosť, spoľahlivosť, výkon a bezpečnosť API (Application Program Interface). Testovanie webových služieb je v niektorých prípadoch podobné ako testovanie jednotiek. Webovú službu môžete otestovať manuálne alebo si môžete vytvoriť svoj vlastný automatizačný kód alebo použiť hotový automatizačný nástroj, ako je Postman.

Prečo je WebService potrebný?

Všeobecne sa softvérové ​​aplikácie vyvíjajú tak, aby ich spotrebovali ľudia, keď človek pošle požiadavku na softvérovú službu, ktorá zase vráti odpoveď v ľudsky čitateľnom formáte.

V modernej ére technológií, ak chcete vytvoriť softvérovú aplikáciu, nemusíte vytvárať úplne všetko od začiatku. Existuje veľa hotových služieb, ktoré môžete zapojiť do svojej aplikácie a môžete začať poskytovať tieto služby vo svojej aplikácii.

Napríklad chcete zobraziť informácie o predpovedi počasia, ktoré nemusíte zhromažďovať, spracovávať a vykresľovať údaje vo svojej aplikácii. Služby si môžete kúpiť od ľudí, ktorí sa už v spracovaní a zverejňovaní tohto druhu údajov dobre etablovali.

Webové služby nám umožňujú tento druh implementácie.

Ako príklad zvážte nasledujúcu službu WebService

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

Poskytuje hodnotu akcie spoločnosti.

Nájdeme akciovú cenu pre Google (Symbol: GOOG)

Odpoveď XML udáva cenu akcie.

Túto Webovú službu je možné nazvať softvérovou aplikáciou pomocou protokolu SOAP alebo HTTP.

Protokoly webových služieb

Webové služby je možné implementovať rôznymi spôsobmi, ale nasledujúce dva sú populárne prístupy k implementáciám.

  1. SOAP (Simple Object Access Protocol)
  2. REST (architektúra reprezentačného prenosu stavu)

MYDLO

SOAP je štandardný protokol definovaný štandardom W3C pre odosielanie a prijímanie požiadaviek a odpovedí webových služieb.

SOAP používa na odosielanie a prijímanie požiadaviek formát XML, a preto sú dáta nezávislými na platforme. Správy SOAP sa vymieňajú medzi aplikáciami poskytovateľa a prijímajúcou aplikáciou v obálkach SOAP.

Pretože SOAP používa jednoduchý transportný protokol http, jeho správy nie sú blokované firewallmi.

ODDYCH

REST znamená Reprezentatívny prenos štátu; je to architektúra, ktorá spravidla beží cez HTTP. Štýl REST zdôrazňuje interakcie medzi klientmi a službami, ktoré sú vylepšené obmedzeným počtom operácií. REST je alternatívou k SOAP (Simple Object Access Protocol) a namiesto použitia XML na požiadanie REST v niektorých prípadoch používa jednoduchú adresu URL. Na rozdiel od protokolu SOAP používajú aplikácie RESTFUL na prenos meta informácií informácie o vytvorení hlavičiek HTTP.

Existujú rôzne kódy, ktoré REST používa na určenie, či má používateľ prístup k API alebo nie, napríklad kód 200 alebo 201 označuje úspešnú interakciu s telom odpovede, zatiaľ čo 400 označuje zlú požiadavku alebo identifikátor URI požiadavky sa nezhoduje s API v systéme. Všetky parametre požiadavky API a parametre metódy je možné poslať buď pomocou premenných POST alebo GET .

Rest API podporuje pre testovanie WebServices API formát XML aj JSON. Spravidla sa uprednostňuje pre mobilné a webové aplikácie, pretože umožňuje rýchlejšiu a plynulejšiu prácu s aplikáciami

WSDL

WSDL (Web Services Description Language) je jazyk založený na XML, ktorý sa bude používať na popis služieb ponúkaných webovou službou.

WSDL popisuje všetky operácie ponúkané konkrétnou webovou službou vo formáte XML. Tiež definuje, ako je možné služby volať, tj akú vstupnú hodnotu musíme poskytnúť a aký bude formát odozvy, ktorú bude generovať pre každý druh služby.

Ako otestovať webovú službu?

Ak chcete otestovať webovú službu, môžete:

  1. Otestujte ručne
  2. Vytvorte si svoj vlastný automatizačný kód
  3. Používajte bežný automatizačný nástroj, ako je SoapUI.

Testovanie automatizácie webových služieb zahŕňa nasledujúce kroky -

  1. Pochopte súbor WSDL
  2. Určte operácie, ktoré poskytuje konkrétna webová služba
  3. Určte formát požiadavky XML, ktorý musíme odoslať
  4. Určte formát XML odpovede
  5. Na odoslanie žiadosti a potvrdenie odpovede pomocou nástroja alebo kódu na napísanie

Predpokladajme, že chceme otestovať webovú službu, ktorá poskytuje zariadenie na prevod mien. Bude to aktuálny konverzný kurz medzi menou rôznych krajín. Túto službu môžeme v našich aplikáciách použiť na prevod hodnôt z jednej meny do druhej meny.

Teraz sa pozrime na vyššie uvedené kroky

Krok 1 až 4: Porozumenie protokolu WSDL a určeniu operácií a formátov XML

Súbor WSDL Converter Currency Converter je možné vidieť @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl), ktorý poskytne informácie o podporovaných metódach webových služieb prevodníka mien, parametri, ktoré musíme zadať, a typ parametrov

… atď

Krok 5: Na odoslanie žiadosti a potvrdenie odpovede pomocou nástroja alebo kódu na napísanie kódu

Na testovanie webovej služby SOAP je k dispozícii veľa nástrojov na testovanie WebService. SoapUI je jedným z populárnych nástrojov API, ktorý nám pomôže testovať webové služby SOAP. V skutočnosti môžete použiť ľubovoľný programovací jazyk, ktorý je schopný odoslať požiadavku XML do aplikácie poskytovateľa webových služieb cez protokol HTTP a ktorý dokáže analyzovať a overiť odpoveď XML na očakávaný výsledok. V tomto výučbe Testovanie webových služieb otestujeme WebService

  1. Používanie Java
  2. Pomocou SoapUI

ČASŤ 1) Testovanie WebService pomocou rozhrania Apache Axis2 API (Java).

Webová služba vo všeobecnosti prevezme požiadavku a odošle odpoveď vo formáte XML.

Projekt Apache Axis2 API je implementačné rozhranie API Java, ktoré sa použije na vytvorenie webových služieb na strane servera (poskytovateľ služieb) aj na strane klienta (spotrebiteľ služieb).

Axis2 je schopný odosielať správy SOAP a prijímať a spracovávať správy SOAP. Môžeme napísať malý program Java pomocou API na vytvorenie webovej služby. Axis2 vygeneruje WSDL z programu Java, ktorý sa použije na komunikáciu služieb ponúkaných webovou službou. Rovnakú os Axis2 môžeme použiť na vygenerovanie triedy Java (stubu) zo súboru WSDL, ktorú môžeme použiť ako klientsky program na vygenerovanie žiadosti o webovú službu, odoslanie žiadosti do koncového bodu služby a spracovanie odpovede.

  1. V zásade vytvoríme jednoduchý program Java, v ktorom vytvoríme inštanciu triedy pahýl.
  2. Pomocou pahýľa vyvoláme metódu požiadavky odovzdaním všetkých požadovaných informácií.
  3. Program Stub prevedie túto požiadavku do formátu požiadavky XML a odošle jej koncový bod služby, ktorý žiadosť prečíta a spracuje a odošle odpoveď vo formáte XML.
  4. Odozva XML bude prevedená do triedy Java stubom a vrátená do skutočného programu.

Pozrime sa na vyššie uvedené kroky podrobne

Krok a) Stiahnite si API osi2 @ https://axis.apache.org/axis2/Java/core/download.cgi a nastavte premennú prostredia „AXIS2_HOME“

Krok b) Vytvorte priečinok, ktorý uchová všetky vygenerované artefakty

Príklad: C: \ Axis \ Projects \ CurrencyConverter

Krok c) Otvorte príkazový riadok a prejdite do štruktúry priečinkov, kde chcete generovať artefakty, a spustite nasledujúci príkaz, ktorý vygeneruje útržky

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

Krok d) Po úspešnom spustení príkazu uvidíte priečinok s požadovanými súbormi.

Krok e) V ďalšom kroku tohto tutoriálu Testovanie webových služieb musíme vytvoriť klientsky program, prostredníctvom ktorého pošleme skutočnú požiadavku pomocou vygenerovaných stubov. Otvorte zatmenie a vytvorte nový projekt Java a vyberte priečinok, ktorý sme vytvorili vyššie.

Krok f) Pridajte všetky poháre súvisiace s osou 2 do cesty zostavenia projektu, ktorá bude tam v priečinku lib priečinka so softvérom axis2

(napríklad: C: \ Axis \ axis2-1.6.2 \ lib)

Krok g) Vytvorte novú triedu Java (napr. Client.Java) a vytvorte inštanciu stub objektu. Pomocou objektu stub môžeme zavolať všetky podporované metódy konkrétnej WebService.

Program Client.Javabalíček org.apache.axis2.currencyconvertor;importovať org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;importovať org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;importovať org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;klient verejnej triedy {public static void main (Java.lang.String args []) {skúsiť {// Vytvorte stub objekt odovzdaním adresy URL koncového bodu službyCurrencyConvertorStub stub = nový CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate je trieda, ktorú musíme použiť pri zmienkach od a do meny// Objekt ConversionRate bude parametrom pre operáciu conversionRateConversionRate conversionRate = nový ConversionRate ();conversionRate.setFromCurrency (Currency.USD);conversionRate.setToCurrency (Currency.INR);// Vytvorte objekt ConversionRateResponse, ktorý sa použije na zachytenie odpovede// volanie služby conversionRate pomocou objektu stubConversionRateResponse conversionRateResponse = stub.conversionRate (conversionRate);// Na získanie odpovede služby ConversionRate môžeme použiť objekt conversionRateResponseSystem.out.println ("Konverzný kurz z INR na USD: + conversionRateResponse.getConversionRateResult ());} úlovok (výnimka e) {e.printStackTrace ();}}}

ČASŤ 2) Ako testovať pomocou webovej služby SoapUI

V SoapUI

  1. Prejdite do ponuky Súbor> Nový mydlový projekt
  2. Zadajte názov projektu a umiestnenie WSDL URI
  3. Kliknite na tlačidlo OK
  1. Rozbaľte prvú požiadavku a dvakrát kliknite na položku „Žiadosť1“. Zobrazí požiadavku SOAP vo formáte XML.
  2. Zadajte hodnoty z meny do meny
  3. Kliknite na tlačidlo odoslať
  4. Na pravej strane okna sa zobrazí odpoveď XML.

Ako môžete vyvodiť záver, použitie nástrojov na testovanie WebService, ako je SoapUI, urýchľuje vaše úsilie pri testovaní automatizácie webových služieb. Preto sa SoapUi v nasledujúcich výučbách zameriame na naše učenie.

Zhrnutie

  • Softvérové ​​aplikácie navzájom komunikujú a vymieňajú si údaje pomocou WebService
  • SOAP a REST sú 2 populárne protokoly na vytvorenie WebService
  • SOAP podporuje výmenu dát založenú na XML
  • REST podpora XML, Json alebo výmena dát v jednoduchej URL pre WebServices API Testovanie.
  • WSDL je jazyk založený na XML, ktorý sa bude používať na popis služieb ponúkaných webovou službou. SOAP je definovaný pomocou WSDL.
  • Ak chcete otestovať WebService, môžete
    • Vytvorte si vlastný kód. Napríklad použite Axis2 API pre Javu
    • Používajte nástroje WebService Test Automation, ako je SoapUI
  • Automation Tools like SoapUI will jumpstart your Web Services Automation Testing effort, will require less coding effort compared to creating your own code using Axis2 API

FAQ

Aký je rozdiel medzi WebService a WebAPI?

Webová služba

Web API

  • Definovaná W3C, všetka komunikácia a výmena dát je založená na XML
  • Komunikácia a výmena dát cez webové API môžu byť XML, JSON alebo obyčajné dáta
  • Má definované štandardy - WSDL
  • Žiadny definovaný štandard
  • Údaje nemôžete komprimovať, ale môžete komprimovať požiadavku HTML
  • Môžete komprimovať údaje
  • Príklad: SOAP
  • Príklad: REST

Získajte viac informácií o testovaní webového API

Tento návod na testovanie webových služieb je možný za prispenia pána Narender Reddy Nukala