Simplium – Hilfe für Selenium

1 Kommentar

Einmal im Monat findet bei codecentric für alle Mitarbeiter ein Freitagsmeeting statt. Getreu nach dem Motto „Von Kollegen für Kollegen“ präsentieren wir uns gegenseitig interessante Themen aus unseren jeweiligen Fachgebieten und stellen neue Technologien vor. Ein Themenblock in unserem nächsten Meeting wird eine „Agile Testing Session“ sein. Für die Vorbereitung meines Beitrags habe ich mich nach einiger Zeit wieder einmal mit Selenium beschäftigt und bin dabei auf ein kleines nützliches Framework namens „Simplium – simple test framework for Selenium” gestoßen, welches ich im Folgenden kurz vorstellen möchte.

Wer bereits mit Selenium gearbeitet hat, kennt sicherlich seine Vorzüge. Man kann Testfälle mit den Firefox-Plugin Selenium IDE aufzeichnen und direkt in einen JUnit-Testcase exportieren. Über Selenium Remote Control kann man diese JUnit-Testcases dann z.B. aus der IDE oder aus einem Continous-Integration-Prozess ausführen.

Leider sind die Syntax der mitgelieferten Basisklasse für Testfälle sowie der Output aus Selenium IDE eher im JUnit 3-Format. Möchte man also JUnit 4 mit Annotations nutzen, muss der Entwickler selbst Hand anlegen. Zusätzlich möchte man vielleicht seine Testfälle gegen mehrere Testumgebungen oder unterschiedliche Browser laufen lassen, ohne alle Testfälle anpassen zu müssen. Aus diesen Gründen beginnen wahrscheinlich viele Entwickler zunächst mit der Erstellung eigener Basisklassen für ihre Selenium-Tests.

Die meisten der beschriebenen Probleme werden jedoch von dem schlanken Framework Simplium gelöst. Simplium bietet folgende Features

  • Konfiguration verschiedener Umgebungen: Selenium-Server-URL und Port sowie URL der zu testenden Anwendung lassen sich zu symbolischen Namen (development, test, production) definieren. Die gewünschte Umgebung wird beim Ausführen der Tests über eine System-Property ausgewählt.
  • Konfiguration der verwendeten Browser: Je nach gewählter Umgebung können die verwendeten Browser konfiguriert werden, z.B. nur Firefox bei development, Firefox und IE in der Test-Umgebung
  • JUnit 4 Unterstützung mit Annotations: Durch einen eigenen JUnit 4 TestRunner können Annotations genutzt werden. Gleichzeitig wird über den Testrunner auch die sehr nützliche Funktionalität der Screenshot-Erstellung bei Testfehlern für JUnit 4 bereitgestellt.
  • Hilfreiche zusätzliche Annotations: Über die @Delay-Annotation lässt sich z.B. eine Verzögerung zwischen jedem Selenium-Command konfigurieren. Dies kann beim Debuggen sehr nützlich sein. Über @RunOnlyIn* kann man einige Testfälle auf bestimmte Umgebungen einschränken. Über @Timeout lässt sich generell der Timeout für Open- und WaitFor-Commands festlegen.
  • Startet man Selenium-Testfälle aus der IDE muss vorher ein Selenium-Server gestartet werden. Dies wird auch von Simplium übernommen.

Alles in Allem ist Simplium für mich ein sehr nützliches, kleines Addon für Selenium. Vielleicht übernimmt OpenQA ja einige Ansätze in die anstehende Version 2.0 von Selenium.

Daniel Reuter

Daniel gehört seit April 2009 zum Team der codecentric. Seine Schwerpunkte liegen in der Entwicklung von Enterprise-Anwendungen im Versicherungsumfeld. Daniel ist Allroundcodehacker, Architekturgedankenpfleger, Sauberkeitsprogrammierenthusiast, Teamzusammenarbeitshelfer und Versicherungsfachdomänenfreund.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentare

  • Markus

    Hi

    Thanks for the good review of Simplium. My aim has been to make Selenium test case coding a bit easier and more modern. And as you mention I have tried to make Simplium a small tool and not a bloated framework.

    Would be nice to hear some of your experience by using it.

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.