Automatické testovanie webových služieb I.

435

SOAPui_iconV dnešnej časti sa zameriam na automatizované testy webových služieb. Webová služba je softvérový systém umožňujúci interakciu dvoch strojov na sieti. Je popísaná v strojovo spracovateľnom formáte, konkrétne WSDL [Web Service Definition Language]. S webovou službou ostatné stroje komunikujú spôsobom, ktorý je predpísaný v popise služby, pomocou protokolu SOAP.

Protokoly SOAP a WSDL sú zapísané v XML. Hlavným prínosom webových služieb je prijatie ich protokolov ako štandard medzi-systémovej komunikácie. Vytvárajú tak vhodný nástroj pre komunikáciu medzi firemnými systémami tzv. Business-to-Business operácií. Ako vedľajší prínos je prijatie protokolu SOAP ako štandardu pre prenášanie správ medzi programami alebo systémami.  Toľko na objasnenie systému, ktorý budeme automatizovane testovať.

Cieľom tohto článku bude automatické otestovanie voľne dostupnej webovej služby na konverziu medzi rôznymi menami, ktorá je dostupná na tejto URL.

Na vytvorenie automatizovanej infraštruktúry použijem tri voľne dostupné nástroje.

  1. Java
  2. ANT
  3. soapUI

Javu a ANT nebudem osobitne predstavovať. Vo svete sa už stali industriálnymi štandardmi. SoapUI je free  open source multiplatformový framework na funkčné testovanie webových služieb. Vďaka ľahko použiteľnému a intuitívnemu grafickému rozhraniu, SoapUI umožňuje ľahko a rýchlo vytvárať a spúšťať automatizované funkčné, regresné a záťažové testy. V jedinom testovacom prostredí  poskytuje kompletné pokrytie testami a podporuje všetky štandardné protokoly a technológie.

Začneme teda s downloadom SoapUI z domovského webu.

SOAPui_download

SoapUI je dostupný aj ako plugin do Eclipse.

SOAPui_eclipse

Po inštalácii free – nie PRO verzie sa dáme rovno do vytvorenia testovacieho scenára. Ako som už spomenul, budeme testovať voľne dostupnú webovú službu ktorá slúži na konverziu medzi rôznymi menami – „Currency Convertor“. Popis ziskame na url: http://www.webservicex.net/ws/wsdetails.aspx?wsid=10

WEBservice_currency_convertor

WSDL schéma sa nachádza na tejto url: http://www.webservicex.net/CurrencyConvertor.asmx?WSDL – WSDL schéma a teda url na ktorej sa nachádza bude aj vstupný parameter, od ktorého sa odvinú aj  zvyšné kroky potrebné na vytvorenie testov. Po spustení programu soapUI začneme kliknutím pravou myšou na „Projects“ a vyberieme „New soapUI Project“.

SOAPui_app

Do políčka Initial “WSDL/WADL” vložíme url linku s WSDL popisom Webovej služby.

01_SOAPui_project

Ak ponecháme všetky default nastavenia, po potvrdení “OK” nám soapUI vytvorí testovaciu štruktúru aj s interfejsom “CurrencyConvertorSoap”.

Po dvojkliku na CurrencyConvertorSoap sa prenesieme k detailom testovaného webového servisu.

02_SOAPui_project

Po rozkliknutí CurrencyConvertorSoap -> ConversionRate -> Request1, uvidíme okno sk pripraveným requestom, ktorý ale doplníme tak, aby webová služba vo svojom response vrátila kurz Eura voči Českej korune:

<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:web="http://www.webserviceX.NET/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:ConversionRate>
         <web:FromCurrency>EUR</web:FromCurrency>
         <web:ToCurrency>CZK</web:ToCurrency>
      </web:ConversionRate>
   </soapenv:Body>
</soapenv:Envelope>

Po kliknutí na “Run”- zelená šipka v ľavom hornom rohu, dostaneme response s prepočtom:

V čase písanie tohto članku teda 25,911 CZK za jedno EURO. 🙂

<soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <ConversionRateResponse xmlns="http://www.webserviceX.NET/">
         <ConversionRateResult>25.911</ConversionRateResult>
      </ConversionRateResponse>
   </soap:Body>
</soap:Envelope>

Nabudúce si ukážeme ako sa z interfejsu webovej služby vygenerujú “TestSuits”, obsahujúce “TestCase” s “TestSteps”. Napíšeme aj bulid.xml pre ANT, ktorý testy dávkovo spustí, vygeneruje report, ktorý otvorí v internetovom prehliadači.

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 4 200 z vás dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

I agree to have my personal information transfered to MailChimp ( more information )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžete odhlásiť.