© DrHitch/Shutterstock.com
Java EE Testing mit Arquillian

2 Arquillian Drone für UI- und Integrationstests


Selenium ist ein allgemein einsetzbares Werkzeug, um Browserinteraktionen zu automatisieren und wird häufig für Web-GUI-Tests verwendet. Mit Arquillian Drone existiert eine Arquillian-Erweiterung, die basierend auf Selenium das einfache Testen von webbasiertem GUI im Zusammenspiel mit Java-EE-Komponenten erlaubt.

Drohnen, bald mit WARP-Antrieb

Mit Arquillian [1] hat JBoss einen neuen Standard im Bereich Testwerkzeuge gesetzt. Die bis dato existierenden Probleme beim Testen von Application-Server-Anwendungen, die vor allem aus dem Mocken und/oder Simulieren der Containerdienste bestanden, wurden obsolet, da Arquillian seine Tests in einem realen Container ausführt und das Mocken/Simulieren somit überflüssig macht.

Selenium [2] ist ein Werkzeug, dessen Entwickler mit „Selenium automates browsers“ eine sehr einfache, aber treffende Beschreibung für ihr Werkzeug liefern. Häufig wird Selenium verwendet, um webbasierte GUIs zu testen. Da Arquillian mit einem Service-Provider-Interface (SPI) versehen ist, ist die Erweiterung von Selenium mit verhältnismäßig geringem Aufwand möglich und wird bereits in etlichen Teilprojekten praktiziert. Eines davon ist Arquillian Drone [3], das Selenium integriert. Damit ist es möglich, Seleniums Java-APIs in Arquillian-Tests zu verwenden.

Wir führen in diesem zweiten Kapitel Arquillian Drone ein, geben aber auch ein paar Tipps, die die Verwendung von Arquillian bei Nutzung des JBoss-Application-Servers (jetzt WildFly) vereinfachen. Wir setzen grundlegende Arquillian-Kenntnisse voraus und empfehlen dem noch unerfahrenen Leser das erste Kapitel dieses shortcuts, das quasi als Einführung in die Thematik dient.

Arquillian im JBoss-AS

Arquillian ist ein von JBoss entwickeltes Testwerkzeug. Es ist daher nachvollziehbar, dass das Werkzeug insgesamt, aber auch neue Features zunächst für den JBoss-AS und erst danach für andere Application-Server realisiert wurden und weiterhin werden. Auch die Unterstützung verschiedener proprietärer JBoss-AS-Features ist weiter gediehen als entsprechende Features bei anderen Containern. Wir werden hier zunächst auf derartige JBoss-Features eingehen und verwenden dazu einen JBoss-AS 7.1.1 in der Remote-Konfiguration. Auf die Maven-Konfiguration gehen wir nicht ein und verweisen den Leser auf das herunterladbare Projekt [4], das alle Beispiele und Konfigurationen dieses Kapitels enthält.

JBoss pflegt eigene Maven-Archetypes für Java-EE-6 und den JBoss-AS. Es sind dies u. a. die Archetypes jboss-javaee6-...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang