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

Automatické testovanie webových služieb II.

SoapUI

Na konci predchádzajúceho článku o automatizovanom testovaní webových služieb som sľúbil, že si ukážeme, ako sa z interfejsu webovej služby cez soapUI vygenerujú “TestSuits”, obsahujúce “TestCase” s “TestSteps”. Okrem toho, v tomto článku nájdete aj build.xml pre ANT, ktorý testy dávkovo spustí, vygeneruje reporty, ktoré po skončení testov otvorí v internetovom prehliadači.

Predchádzajúci článok sme ukončili vytvorením SOAP testovacieho projektu zadaním linky na WSDL schému Currency Convertora a spustením prepočtu EURA na české koruny.

2

Teraz je potrebné vytvorenie TestCase-u, ktorý bude webovú službu testovať a umožní aj automatický test, tzv. TestCase. To vykonáme v prostredí soapUI formou dialógov.

Request pridáme do TestCase cez menu [pravá myš] na “Request” a “Add this request to TestCase

3

Po pridaní requeste do TestCase, upravíme “Assertions”. Pre účely tohto článku zadáme assertion “Response SLA”, ktorá bude očakávať odpoveď zo serveru v čase do 40 milisekúnd. Postupne klikám na:

4

…a  z menu “SLA” vyberieme  “Response SLA”.

5

Zadáme očakávaný čas – 40 milisekúnd. Táto hodnota určite spôsobí fail testu.

6

Test spustíme v prostredí soapUI a vidíme, že celý test failoval na ResponseSLA, presne podľa očakávania.

7

V nasledujúcom texte si ukážeme, ako test spustiť pomocou ANTu, bez použitia soapUI grafického prostredia – automatické spustenie testu s vygenerovaným test-reportom. Na tento účel použijem ANT a jeho konfiguračný súbor, build.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>

<project name="SoapUI run" basedir="." default="openResultFile">

  <target name="soapui">
    <exec dir="." executable="c:\\Program Files\SmartBear\soapUI-4.5.2\bin\testrunner.bat" >
      <arg line ="-j -f 'c:\\SoapUIResults' 'CurrencyConvertor-soapui-project.xml'"/>
    </exec>
  </target>

  <target name="testreport" depends ="soapui">
    <junitreport todir="c:\\SoapUIResults">
      <fileset dir="c:\\SoapUIResults">
        <include name="TEST-*.xml"/>
      </fileset>
  
      <report todir="c:\\SoapUIResults\\html" styledir="c:\\ant\\etc" format="frames">
      </report>
    </junitreport>
  </target>

  <target name="openResultFile" depends="testreport" 
    description="Opens the html result file in the browser">

    <echo message="Opening result file ..."/>

    <exec executable="c:\\Program Files\\Mozilla Firefox\\firefox.exe"  spawn="true">
      <arg line="c:\\SoapUIResults\\html\\index.html"/>
    </exec>
  </target>

</project>

Uvedený build.xml ANT script spustí soapUI riadkový tool  – “testrunner.bat”, pričom ako jeho parametre zadám:

  • ‘c:\\SoapUIResults’ – cesta k adresáru s výsledkami testov
  • CurrencyConvertor-soapui-project.xml” – súbor vytvorený a uložený v soapUI.

Ostatné  targety slúžia na vytvorenie JUNIT reportu a jeho otvorení v prehliadači Firefox.

Sú to:

<target name="testreport" depends ="soapui">
<target name="openResultFile" depends="testreport">

Po spustení ant …

8

… sa test spustí a test-reporty formou JUNIT sa otvoria vo Firefoxe, vrátane očakávaného test-failu.

9

10

Happy SOAP testing!


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

Senior Python Developer/ka

Úspešný americký startup, ktorý umožňuje vývojárom vytvárať aplikácie a rozhrania API bez akýchkoľvek časových, priestorových a cloudových architektúr hľadá...

C#/.NET & React Fullstack Developer/ka

FullStack Developer/ka | Vývoj nového produktu | Security Pracoval/a by si na TPP s platom 2400 - 2800 EUR/brutto mesačne...

Data Visualization Senior Analyst

Pre medzinárodnú IT spoločnosť hľadáme Senior Data Visualization Analyst. Pracujú na veľkých projektoch pre top 100 svetových spoločností. Ide o...

Splunk Data Engineer

Chcel by si dlhodobú spoluprácu, dobré pracovné podmienky, seriózny prístup? Medzinárodná IT spoločnosť hľadá Splunk Data Engineera. Pracujú na veľkých...

Senior Java Developer

Úspešný americký startup, ktorý umožňuje vývojárom vytvárať aplikácie a rozhrania API bez akýchkoľvek časových, priestorových a cloudových architektúr hľadá...

Backend/Node.js Developer / REMOTE

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

Julia Developer / REMOTE

Projekt pre nadšencov Julia a machine learning. Pre spoločnosť, ktorá používa matematické metódy a metódy AI / ML na...

Máte vo firemných stretnutiach chaos? Česká firma našla riešenie, teraz s aplikáciou dobývajú svet

Vyvíjajú ju v Českej republike, pracujú na nej aj hendikepovaní kolegovia a používajú ju firmy v rôznych krajinách sveta....

Ondrej Kubovič – Digitálna bezpečnosť a riziká na internete

Tentokrát sme sa porozprávali s Ondrejom Kubovičom, špecialistom v spoločnosti ESET na populárnu tému digitálnej bezpečnosti. Ondrej nám uviedol...

Slovenskí tvorcovia hier dosiahli v roku 2020 rekordný obrat 72 miliónov EUR, zamestnávali 870 ľudí

Slovenský herný priemysel nezastavila ani pandémia, v roku 2020 opäť výrazne rástol. Podľa štatistík Slovak Game Developers Association prekonal...

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