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ť.

DevOps Enginner / Online Bezpečnosť

Pre IT spoločnosť, ktorá sa venuje online bezpečnosti hľadáme do tímu DevOps Medior Engineer. Spoločnosť má 20-členný tím s...

Senior Java Consultant

Hľadáš, kam by si sa posunul? Možno ťa táto práca zaujme. Ide o Senior JAVA konzultanta v nadnárodnej IT...

Ruby on Rails Junior-Medior 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...

JS Sencha Senior Developer / Homeoffice

Máš rád svoju slobodu, pracuješ na projektoch, ideálne remote? Pre medzinárodnú softwarovú spoločnosť hľadáme JS Sencha Developera.Po dvoch týždňoch...

Junior Angular Developer / REMOTE

Pre nášho partnera hľadáme ITčkára na pozíciu Angular Developer. Spoločnosť sa venuje vývoju platformy pre firmy na znižovanie nákladov...

Frontend Medior Developer

Medzinárodná IT spoločnosť, ktorá vyvíja finančný softvér.Práca je v Bratislave na TPP. Odmena sa pohybuje od 2000+ EUR.Tvoje úlohy...

.NET Core Medior Developer / REMOTE

Svoju budúcnosť máš vo svojich rukách, skús to teraz ako .NET Core developer. Ide o startup projekt, ktorý vyvíja...

GIRL ́S DAY 2020: Už po siedmy raz môžu stredoškoláčky nahliadnuť do IT firiem po celom Slovensku.

Občianske združenie Aj Ty v IT už siedmy rok prepája IT firmy a organizácie so stredoškoláčkami po...

DIGITALEUROPE: Na digitalizáciu pôjde z plánu obnovy až pätina prostriedkov. Ako zareaguje Slovensko?

Výzva v podobe zníženej globálnej konkurencieschopnosti, ako aj kríza spojená s pandémiou postavili Európu...

OpenSlava 2020 tentokrát online!

OpenSlava 2020 je 8. ročník úspešnej konferencie pre IT komunitu na Slovensku...

Čí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ť.