TeamCity und JSTestDriver (Headless)
Mit dem Framework JSTestDriver steht endlich eine Testumgebung für Javascript zur Verfügung, die sich gut in CIS-Systeme wie z.B. TeamCity einbinden läßt.
Die grundlegende Nutzung und Konfiguration von JSTestDriver sollte auf der entsprechenden Webseite nachgeschlagen werden. Hat man sich damit vertraut gemacht, ist es ein leichtes eine Datei für Ant zu erstellen, um die Tests zu automatisieren.
Da der Testserver jedoch normalerweise auf einem Linuxserver läuft (Stichwort: Headless) gibt es Probleme, weil JSTestDriver keine Browser starten kann. Man könnte zwar Browser auf anderen Maschinen an einer auf dem Testserver laufenden Instanz anmelden, doch dies ist fehleranfällig und manchmal auch einfach nicht gewünscht.
Die Lösung liefert hier der Xvfb, d.h. ein X-Server für den virtuellen Framebuffer. Dieser ermöglicht es die Browser auch auf dem Server zu starten. Hier noch entsprechende Auszug aus der build.xml für Ant:
<target name="tests.javascript" depends="build.modules, build.all.artifacts">
<property name="browsers" value="/usr/bin/firefox,/usr/bin/google-chrome"/>
<exec executable="/usr/bin/xvfb-run">
<arg line="java"/>
<arg line="-jar /usr/local/share/jsTestDriver/JsTestDriver.jar"/>
<arg line="--port 9876"/>
<arg line="--config ${basedir}/Client/jsTestDriver.conf"/>
<arg line="--browser ${browsers}"/>
<arg line="--tests all"/>
<arg line="--testOutput ${basedir}/Client/testOutput/"/>
</exec>
</target>
- Zum Verfassen von Kommentaren bitte Anmelden.
