Testovanie webových aplikácií použitím Canoo WebTest, časť III.

Roman Hesteric  /  20. 05. 2008, 00:00

Séria článkov o open-source nástroji na automatizované testovanie webových aplikácií - Canoo WebTest. Charakteristika, inštalácia, prvé spustenie.

Canoo WebTest - charakteristika

 

+ [plus]

  • Jednoduchosť
  • Rýchlosť
  • Výborný reporting
  • Spustiteľný všade
  • Nepotrebuje monitor
  • Ľahké rozširovanie
  • Nekomplikovaná integrácia
  • Neakceptuje príliš zle formátované HTML

- [mínus]

  • Javascript implementácia nie je taká dobrá ako v "normálnom" browseri
  • Neakceptuje príliš zle formátované HTML

 

Jednoduchosť
WebTest má jednoduchú syntax – ktorá je natoľko intuitívna, že je ľahko zrozumiteľná aj začínajúcim používateľom.

Rýchlosť
WebTest počas behu nesťahuje z testovaných stránok obrázky, alebo CSS a tým pádom nepotrebuje renderovať testované stránky, čim sa zvýši rýchlosť behu testu.

Výborný reporting
Poskytuje vynikajúci reporting formou náhľadu HTML testovanej stránky s linkami na jednotlivé odpovede od servera, prípadne s linkami na chyby ku ktorým došlo počas behu testu.

Spustiteľný všade
WebTest je java aplikácia, takže pobeží všade, kde pobeží Java. Onedlho okrem mobilného telefónu snáď aj na mikrovlnej rúre.

Nepotrebuje monitor
Znamená, že počas spustenia testov je vám počítač k dispozícii a vy môžete počas vykonávania testov pokračovať v svojej práci. Pravda, pokiaľ to pamäť a zaťaženie počítača dovolí.

Ľahké rozširovanie
Vo WebTest-e môžete vytvárať svoje vlastné test-kroky pomocou Javy, alebo jazyka Groovy a používať celý API HtmlUnit-u a commons-httpclient-a na jeho prispôsobenie vašim špecifickým požiadavkám.

Nekomplikovaná integrácia
Skripty Webtestu sú skripty programu Ant, ktorý tu podrobne opisovať nebudem. To znamená že tieto môžete ľahko integrovať do rôznych integračných nástrojov [Cruise Control], alebo build nástrojov [Maven].

Neakceptuje príliš zle formátované HTML
"Reálne" prehliadače akceptujú zle naformátovaný HTML a niektoré chyby jednoducho prehliadajú. Je to dobre, alebo zle? Autori Webtest-u sa týmto spôsobom snažia o to, aby korektné webové aplikácie používali korektný a čistý HTML kód.

Javascript implementácia nie je taká dobrá ako v "normálnom" prehliadači
WebTest používa jadro programu Mozilla Firefox, alebo Internet Explorer pri vykonávaní JavaScript-ov. Táto činnosť je však len simulovaná [Mozilla Rhino]. Simulácia javascriptov je však neustále vyvíjaná a vylepšovaná.

 

Canoo WebTest - stavebné prvky

 

Canoo Webtest je napísaný v jazyku Java [JDK 1.5] využívajúci Ant [verzia 1.7 alebo novšia, ktorý je súčasťou inštalácie].


Stavebné prvky Canoo WebTest:

stavebne prvky canoo webtest

 

 

Canoo WebTest - inštalácia

 

a. Predpokladaná konfigurácia

  • OS na ktorom je možné spustiť Javu
  • Nainštalovaná JDK minimálne verzia 1.5
  • Nástroj na rozpakovanie stiahnutých zip-súborov

b. Download

Stiahnite si poslednú verziu z oficiálnej stránky [http://webtest.canoo.com/webtest/manual/Downloads.html ]
Rozpakujte súbory do vami zvoleného adresára – ktorý sa stane „WebTest home“

c. Konfigurácia systémových ciest

Podadresár lib/ adresára WebTest home obsahuje všetky java knižnice potrebné k behu Canoo Webtestu. Podadresár bin/ adresára WebTest home obsahuje skripty pre Unix a Windows, ktorými sa štartuje Webtest.


Nastavenie systémovej cesty – pridanie bin/ adresára do systémovej premennej “path” [Windows]: (WinKey + Pause), vyberte “Advanced tab” a cez button “Environment Variables” editujte PATH premennú. Napríklad: "C:Program FilesWebtestbin";%PATH%

Nastavenie systémovej cesty – pridanie bin/ adresára so systémovej premennej “path” [Unix]:

Napríklad:

setenv PATH ${PATH}:/usr/local/webtest/bin v .login (tcsh)
alebo
export PATH=${PATH}:/usr/local/webtest/bin v .bashrc (bash).

 

d. Vytvorenie nového WebTest projektu

WebTest obsahuje zabudovanú utilitu na vytvorenie nového projektu, ktorý obsahuje príklady testov priamo spustiteľných a ktoré môžu následne slúžiť ako vzor pre prvé skutočné testovacie skripty. V príkazovom riadku pre daný operačný systém zadajte:

 

C:> webtest -f cestakwebtesthomeadresáruwebtest.xml  wt.createProject

 

Po zadaní mena demo projektu sa vytvorí demo project so zadaným menom. Ak meno nezadáte vytvorí sa pod default menom “myWebTestProject”.

 

Úspešné vytvorenie projektu sa objaví v nasledujúcom výpise na konzole:

C:> webtest -f WebTestwebtest.xml wt.createProject
Buildfile: WebTestwebtest.xml
wt.init:
wt.createProject:
[input] Enter your WebTest project name: [myWebTestProject]
[echo]
[echo] Your WebTest project >myWebTestProject< has been successfully created with some demo
[echo] tests to get started.
[echo] You can now just go to >c:myWebTestProject< and run ant.
[echo]
BUILD SUCCESSFUL
Total time: 7 seconds

 

Canoo WebTest - prvé spustenie

 

Ak používate proxy server, na prvé úspešné spustenie nastavte proxy server v súbore build.xml. V súbore build.xml stačí odkomentovať pripravené proxy nastavenie a zadať vaše proxy nastavenie.

Build.xml:

Activate this if you are behind a proxy and want to test a server outside your local network

See http://ant.apache.org/manual/OptionalTasks/setproxy.html

<setproxy proxyhost="myProxy" proxyport="X.XX.XXX.XXX"/>

 

Potom spustite príkaz "webtest", pričom sa počas behu testov zobrazí okno WebTest Monitora a Webtest konzoly.

Na konzole uvidíme:

C:>myWebTestProject>webtest
...
wt.openResultFile:
[echo] Opening result file C:myWebTestProjectresultswebtestResults.html with cmd

wt.full:

BUILD SUCCESSFUL

 

WebTest monitor zobrazuje priebeh a výsledky jednotlivých testov:

webtestmonitor

 

Po ukončení testu sa objaví HTML report:

report1

 

Zobrazenie jednotlivých krokov testu s pohľadom na “result-page” [ctrl+myš]:

report2

 

ScreenCast - demo vytvorenia a spustenia prvého Canoo Webtest projektu je k dispozícii tu:

Creating a first WebTest Project

 

Nabudúce:

  • Canoo WebTest - štruktúra testovacieho projektu
  • Canoo WebTest - syntax
  • Canoo WebTest - webtest recorder
  • Canoo WebTest - ako písať udržiavateľné testy

Neprehliadnite: