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.
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”
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:
…a z menu “SLA” vyberieme “Response SLA”.
Zadáme očakávaný čas – 40 milisekúnd. Táto hodnota určite spôsobí fail testu.
Test spustíme v prostredí soapUI a vidíme, že celý test failoval na ResponseSLA, presne podľa očakávania.
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 …
… sa test spustí a test-reporty formou JUNIT sa otvoria vo Firefoxe, vrátane očakávaného test-failu.
Happy SOAP testing!