Blog Automatické testovanie webových služieb I.

Automatické testovanie webových služieb I.

V 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 je dostupný aj ako plugin do 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“.

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

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.

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 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.



Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

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

Roman Hesteric
Roman Hesterichttp://www.priklady.eu
Pracuje ako QA Architekt v Swiss Re. Predtým CTO pre Java a .Net aplikácie. Autorizovaný spolupracovník na projekte Canoo Webtest. Držiteľ certifikátov MCTS a MCPD pre SharePoint server. V IT pracuje 25 rokov, od starého dobrého Turbo Pascalu od Borlandu, cez Javu, až po C#. Administrátor matematického portálu www.priklady.eu

SW Architekt

Si rád, keď môžeš tvoriť užitočné produkty pre ľudí? Máš rád vplyv na to, akým smerom sa produkt vyberie? Pracuj...

.NET Developer

Rozmýšľaš o návrate do Košíc, ale nenašiel si ešte vhodnú príležitosť? A čo tak toto: Ide o jednu z popredných...

Procesný analytik

Štvú ťa nepotrebné a neefektívne procesy a vieš ako ich zlepšiť? Baví ťa identifikovať „slabé“ miesta a navrhovať možnosti...

Ruby on Rails Developer / REMOTE

Je tvoj život príliš v “koľajniciach”? Urob si odbočku a skús sa pridať do tímu Ruby on Rails developerov. Ide...

DevOps Engineer | REMOTE | Gaming | Americkí mentori

Pre mladý startup vyvíjajúci softvér, ktorý prispieva hráčom k lepšiemu zážitku z hrania, hľadáme DevOps Engineera. Založili ho dvaja...

SW Analytik

Je pre teba dôležitá istota, skúsení kolegovia a chcel by si sa podieľať na vývoji komplexného poistného systému pre...

ICT Technik

Máš LAN/WAN v malíčku a nebojíš sa priložiť ruku k dielu so skrutkovačom v ruke? Pre spoločnosť, ktorá poskytuje komplexné...

Prehľad o všetkom dôležitom v IT za dva dni – TechEd Online 2021

ročník najväčšej československej IT odbornej konferencie Informácie o novinkách z prestížnych odborných konferencií a seminárov organizovaných po celom svete Prednášky zamerané na...

Na Slovensku vznikla firemná e-športová liga. Reprezentuj robime.it!

Na fyzické stretnutie s kolegami z práce si budeme musieť všetci ešte chvíľu počkať. Kým to však príde, môžete...

Týka sa každého z nás – „Remote Revolution“ na live konferencii SecTec Security Day 2021!

Naše životy sa za posledný rok radikálne zmenili spôsobom ako pracujeme a ako spolu komunikujeme. Práca z domu sa stala...

Čítaj ďalej:

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

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

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