Blog

Einführung in Xebium

Cirilo Wortel

Cirilo Wortel

Aktualisiert Oktober 22, 2025
3 Minuten

Einführung Beim Testen von Weboberflächen ist es praktisch, ein intuitives Tool wie Selenium IDE zu verwenden. Es ist einfach zu bedienen und kann auch von technisch nicht versierten Personen eingesetzt werden, aber es ist ausschließlich für die Aufzeichnung und Wiedergabe von Testskripten gedacht. Eine seiner Einschränkungen ist, dass es keine ausreichenden Optionen für die Dokumentation und Verwaltung von Tests bietet. Außerdem fehlt eine Schnittstelle zum Backend des zu testenden Systems (SUT), um Vorbedingungen für einen Test festzulegen oder um beispielsweise eine Datenbank zu manipulieren oder aus ihr zu lesen. Fitnesse ist ein großartiges Tool, um genau das zu tun. Es verfügt über ein Wiki zur Verwaltung von Tests und standardmäßig über einen Mechanismus zum Einrichten und Abbauen von Tests. Der Nachteil ist, dass es nicht in der Lage ist, Webtests durchzuführen. Wir haben jetzt den Klebstoff, der beides miteinander verbindet, er heißt Xebium!

Bei mehreren Projekten habe ich versucht, einen Weg zu finden, beide zu kombinieren, denn beide Tools sind kostenlos und beide haben ihren eigenen Charme, aber es scheint, dass sie kombiniert praktisch jede Situation meistern würden. Als Tester fehlen mir die Entwicklungsfähigkeiten, um eine zufriedenstellende Lösung zu finden, und ich konnte meine Teammitglieder nie davon überzeugen, mir auf zufriedenstellende Weise zu helfen. In unserem Unternehmen haben wir vor kurzem den App-Incubator ins Leben gerufen, eine neue Form des Wissensaustauschs in Form von Miniprojekten. Jeder kann eine Projektidee pitchen, und wenn genügend Kollegen das Projekt unterstützen, können wir bis zu drei Tage lang gemeinsam daran arbeiten. Mein Pitch hat Feuer gefangen und mit etwa fünf Leuten haben wir ein Brainstorming über die Lösung gemacht. Für mich war eine Voraussetzung, dass es möglich sein sollte, die Testskripte in zwei Richtungen zu verwenden, sie also mit Selenium IDE aufzuzeichnen, sie in Fitnesse auszuführen und zu bearbeiten und dann wieder von Selenium IDE abzuspielen. Während dieser ersten Projektsitzung kamen wir auf weitere Anforderungen zu sprechen: Es sollte datengesteuerte Tests und die Ersetzung von Variablen unterstützen. Wir wollten es so einfach wie möglich halten, es sollten keine neuen DSLs eingeführt werden und es sollten keine Konvertierungen zwischen den beiden Produkten erforderlich sein. Wir untersuchten einige bestehende Lösungen wie Fitnium und Selenesse, kamen aber zu dem Schluss, dass diese (zu dem Zeitpunkt) vollständig auf ihren eigenen DSLs basierten und den Austausch von Dateien zwischen Selenium IDE und Fitnesse nicht unterstützten. Also beschlossen wir, etwas viel Einfacheres zu entwickeln. Das Ergebnis Nach mehreren Versuchen haben wir festgestellt, dass Webdriver (Selenium 2.0) die beste Engine für die Durchführung unserer Tests ist. Er scheint zukunftssicherer zu sein, erwies sich als wesentlich stabiler als Selenium Testrunner und seine Befehle sind besser mit Selenium IDE kompatibel als Selenium RC.Wir haben einen Selenium IDE Formatierer eingeführt, dessen Ausgabe direkt in das Wiki kopiert werden kann. Wir haben eine Fitnesse-Fixture erstellt, die in der Lage ist, die vorformatierten Skripte ohne zusätzliche Interpretationen der Selenium-Befehle auszuführen.Die zusätzlichen Funktionen, die uns vorschwebten, das datengesteuerte Testen und die Variablensubstitution, erwiesen sich als Standardfunktionen von Fitnesse. Was wir nicht wussten, als wir anfingen, war, dass Fitnesse einen Mechanismus einführen würde, der meines Erachtens dem Projekt eine umwerfende Leistung verleiht: Szenario-Tabellen, mit denen wir jetzt Abstraktionen über unseren Testskripten erstellen können. Fazit Xebium ermöglicht es uns, sowohl die Selenium IDE (geringe Lernkurve) als auch FitNesse (einfache Wartung) optimal zu nutzen und bietet eine Komplettlösung für automatisierte Web-Tests.

Verfasst von

Cirilo Wortel

Cirilo Wortel is an Agile Test Consultant at Xebia

Contact

Let’s discuss how we can support your journey.