Foto av Björn Beskow

Selenium & FitNesse

// Björn Beskow

Out-of-browser-testning av web-applikationer blir mer och mer problematiskt genom den ökande mängden javascript i det flesta applikationer. Samtidigt har den alternativa ansatsen - produkter för att köra tester inuti en browser - varit behäftade med en lång rad problem. Verktygen har varit av Record/playback-typ, där de resulterande scripten ofta blir bräckliga och svåra att underhålla. Verktygen fungerar ofta enbart för en specifik browser och version.

Selenium (http://www.openqa.org/selenium/) är ett testramverk som tar ett radikalt nytt grepp för testning av web-applikationer. Testerna formuleras i en relativt rättfram tabell-form, t.ex:

Test Click    
open ./tests/html/test_click_page1.html  
verifyElementPresent nextPage Click here for next page
clickAndWait nextPage  
verifyLocation ./tests/html/test_click_page2.html  

Testerna exekveras inuti en browser, precis som en slutanvändare. Det radikalt nya är att exekveringsmotorn för testerna i sig är en JavaScript-applikation! Det innebär att testerna kan köras i de flesta browsers, vilket gör det möjligt att testa både funktionalitet och browser-kompatibilitet. Test-exekveringen kan även styras externt, vilket möjliggör scriptning av tester i t.ex. Java, Python eller Ruby. Därigenom borde det även vara möjligt att driva Selenium-baserade web-tester från FitNesse (http://www.fitnesse.org), och därigenom få en integrerad utvecklings- och exekveringsmiljö för olika typer av funktionella acceptanstester. Fortsättning följer!

Kommentarer