- Ante.lv
- Tīmekļa programmēšana
- Individuālie mājasdarbi
- HW05 SVG un XHTML testēšana ar Selenium
HW05 SVG un XHTML testēšana ar Selenium
HW05 SVG un XHTML testēšana ar Selenium
Izčekot no Subversion repozitorija projektus:
- http://java-eim.googlecode.com/svn/trunk/java-eim-klucis-parent
- http://java-eim.googlecode.com/svn/trunk/java-eim-klucis-core
- http://java-eim.googlecode.com/svn/trunk/java-eim-klucis-demo
- http://java-eim.googlecode.com/svn/trunk/java-eim-maven-lib
Sabūvēt projektu ar komandu "ant war" (direktorijā "java-eim-klucis-demo"). Palaist iegūto /java-eim-klucis-demo/target/klucisDemo.war uz Tomcat 5.5 vai JBoss 4.2.1.GA. Sk. KLUCIS demo aplikācijas Selenium testu virkni: http://localhost:8080/klucisDemo/selenium-core/core/TestRunner.html?test=../../tests/suite1/TestSuite.html. Kā redzams šajā testu piemērā, assert-i (t.i. apgalvojumi par to, ka aplikācijas KLUCIS atgrieztajā SVG ir atrodami noteikti atribūti un noteiktas vērtības) ir rakstīti tikai pēc šī dokumenta transformēšanas par HTML.
Jūsu uzdevums ir pielāgot rīku Selenium tā, lai tajā varētu rakstīt assert-us jeb testējamos apgalvojumus arī par SVG un XHTML veida failiem (t.i. MIME tipiem "image/svg+xml" un "application/xhtml+xml"), izvēloties atbilstošu XPath izteiksmi. (Tas nepieciešams tādēļ, lai testi precīzāk dokumentētu aplikācijas uzvedību, jo saņemto SVG vai XHTML dokumentu vispirms transformēt par HTML tikai tādēļ, lai tajā varētu ierakstīt XPath izteiksmes, kuras vienlīdz attiecas uz visa veida XML datiem, ir ļoti neparocīgs "apkārtceļš" jeb "work-around"). Lai varētu darbināt Selenium testus tieši uz SVG vai XHTML datiem, varat izvēlēties sev ērtāko pārlūkprogrammu (MSIE vai FireFox), nav obligāti, lai šie testi strādātu uz abām.
Resursi
- Selenium - http://selenium.openqa.org/
- Par Selenium latviski - http://www.ante.lv/xwiki/bin/view/Training.WebProgramming/Selenium
- Selenium Core 1.0 Reference - http://release.seleniumhq.org/selenium-core/1.0/reference.html
- SVG (Scalable Vector Graphics) - http://www.w3.org/Graphics/SVG/