Dienstag, Juli 24, 2007

Selenium - Unit Test für Webapplikationen

Wer aus dem Javabereich kommt ist (hoffentlich) bestens mit Unit Testing vertraut. Diese Art von Test machen ein ganz anderes entwickeln möglich. Für alle anderen, welche Unit Testing nicht kennen: Es wird eine Testumgebung geschrieben, welche bestimmte Zusicherungen für Funktionen enthält. Es werden also beliebig viele Assertions aufgestellt. Die müssen alle erfüllt werden.

Beim Programmieren kann jetzt jederzeit der Unittest gemacht werden. Leuchtet irgendwo eine rote Lampe auf, dann ist schlecht. Wer schon mal grössere Webapplikationen gebaut hat, der vermisst so etwas. Problem: Es wird programmiert und gebastelt und plötzlich geht’s nicht mehr und keiner weiss warum „gestern hats doch noch funktioniert“.

Hier tritt Selenium in die Lücke. Selenium ist ein Framework, welches automatisches Testing erlaubt. Folgende Tools sind dabei sehr hilfreich:

  • Xpath Plug für Firefox
  • Selenium IDE für Firefox

Damit kann man dann auch schon loslegen. Mit dem Selenium IDE wird ein Makro aufgezeichnet. Man klickt sich also durch die Seiten durch und es wird alles aufgezeichnet. Das „Video“ kann man dann abspielen und man sieht genau was man gemacht hat. So kann schon mal ein Test gemacht werden, welcher alle Links überprüft… ganz nützlich. Im Weiteren können noch Zusicherungen gemacht werden, als zum Beispiel verifyTestPresent(test), würde nur true zurückgeben, falls auf der entsprechenden Seite das Wort test zu finden ist.

Fehler werden in einer Tabelle rot dargestellt und so ist man denen ziemlich schnell auf der Spur.