Automated Web-Testing mit Ranorex Online – Ist Selenium bald uncool?

Geschrieben von Maik Manjura veröffentlich am in der Kategorie Agiles Arbeiten, UX
Als Testingenieur hat man heutzutage die Qual der Wahl: Welches Tool verwende ich für automatisierte Tests? Was verwende ich speziell für Web- und Mobile Testing? Eins ist jedoch sicher: Speziell im Web-Testing sieht sich Jeder früher oder später mit Selenium konfrontiert, einem de facto Standard auf diesem Gebiet.

Es ist Open-Source, kann für verschiedene Browser und Devices verwendet werden und wird von vielen Tools unterstützt. Es existiert sogar ein Browser-Plugin namens Selenium IDE, mit dem Recordings innerhalb des Browsers möglich sind. Hinzu kommt, dass Selenium bereits seit 2004 existiert und mittlerweile einen hohen Bekanntheitsgrad erreicht hat.

Doch kann es tatsächlich sein, dass es nach 13 Jahren Selenium keine besseren Alternativen im Web-Testing gibt? Schließlich sind die Probleme des beliebten Frameworks bekannt: hohe Wartbarkeit, kein eingebauter Mechanismus für datengetriebenes Testen, Schwierige Erkennung von dynamischen Inhalten sowie das richtige Timing bei der Objekterkennung sind nur einige der Probleme, die das Testen relativ unkomfortabel gestalten.

Mit Ranorex Online, einem auf das Web-Testing ausgelegte Framework, soll das automatisierte Testen von Webseiten wesentlich vereinfacht werden. Das Framework befindet sich momentan in der Beta-Phase und erlaubt bis zum Release kostenfreies Testen auf sämtlichen Browsern und Devices. Der Release für die Pro Version ist noch für dieses Jahr angesetzt, der genaue Preis ist noch nicht bekannt. Ist Ranorex Online also eine Alternative zu Selenium, wenn nicht sogar besser?! Genau das möchte ich in einer ersten Gegenüberstellung herausfinden.

 

 

Ranorex Online: Die Core-Features

Ranorex Online sticht direkt durch seine Benutzerfreundlichkeit heraus. Man muss nur einen Account auf ranorex.io anlegen und schon können erste Recordings über die schlicht gehaltenen Menüs aufgenommen werden, unabhängig von Browser oder Device. Die Objekterfassung ist bereits sehr zuverlässig, auch dynamische Inhalte werden automatisch erkannt. All dies geschieht online, zusätzliche Plugins oder Installationen sind nicht nötig. Die Tests lassen sich auch als sogenannte Play-Links in einer URL abspeichern, die weitergegeben werden können und somit sowohl als Testreport für Entwickler, PMs und Kunden als auch eingebunden in Testskripts nützlich sein können. Im Rahmen der Beta sind sogar Remote Tests und zeitlich gesteuerte Tests für vorerst 1000 Minuten pro Monat möglich. Alles geschieht ohne auch nur eine Zeile Code schreiben zu müssen.

Besonders beeindruckt hat mich das Parallel Testing: In knapp 10 Minuten war ich in der Lage, einen einfachen Test für 3 verschiedene Browser über einen Play-Link parallel ohne Komplikationen laufen zu lassen. Ein deutlicher Unterschied im Vergleich zu Selenium: Die bloße Konfiguration eines Selenium Grids zur Ausführung von parallelen Tests nimmt bereits viel Zeit in Anspruch.

Aber auch Ranorex Online hat seine Schwächen. Vor allem weil es noch in der Beta-Phase ist, funktionieren die Recordings oder Email-Benachrichtigungen je nach System und Technologie nicht immer einwandfrei oder auch gar nicht. Auch das skriptfreie Testen hört sich zunächst toll an, ist für einen Testingenieur aber nicht wirklich erfreulich, weil mit Coding wesentlich komplexere Testfälle geschrieben werden können und einfach mehr Möglichkeiten offenstehen. Hier kann Selenium punkten. Allerdings steht zumindest das datengetriebene Testen bereits auf der To-Do-Liste der Ranorex-Entwickler. Möchte man Ranorex in Sachen Coding vorerst treu bleiben, so muss auf die wesentlich mächtigere Studio Version zurückgegriffen werden.

Für alle, die nicht gerne lange Texte lesen, hier eine kurze Gegenüberstellung:

 

Ranorex Online

Selenium

(Vorerst) skriptfrei

Skriptbasiert

Recordings möglich

Recording-Skripts nur über Selenium IDE möglich

Recordings können geteilt werden

Skripte können geteilt werden

Keine Plugins notwendig

Benötigt Entwicklungsumgebung, Standalone Server, Treiber

Parallel Testing über URLs möglich

Selenium Grid aufwendig und anfällig für Fehler

Cloud Hosted Testing

Tests innerhalb und außerhalb der Cloud möglich

Begrenzte Konfigurierbarkeit

Hohe Konfigurierbarkeit

Integrierte Benachrichtigungen per Mail oder Popup

Mail-Benachrichtigungen müssen selbst geschrieben werden

Bis zum Release kostenlos, Pro Version kostenpflichtig

Open Source, kostenlos

 

Offizieller Support und eigenes Forum mit aktiver Community

User Groups, Chat Rooms, aber auch Commercial Support

 

Fazit

Ranorex Online hat definitiv das Potenzial dazu, gleichzeitig ein einfach zu bedienendes und effektives Testing-Framework zu werden. Es bleibt abzuwarten, welche Features noch implementiert werden und ob es möglich sein wird, Testskripte programmieren zu können. Wenn Letzteres umgesetzt wird, sollte man sich als Entwickler/Testingenieur Gedanken machen, ob man Ranorex als fertige, kostenpflichtige Lösung dem Open Source Framework Selenium vorzieht. Ich bin jedenfalls auf den Release gespannt und beobachte das Tool weiterhin.

 

Quellen

http://help.ranorex.io/

https://www.ranorex.com/blog/5-testing-challenges-when-using-selenium/

http://www.seleniumhq.org

https://www.atlassian.com/blog/archives/selenium_is_the_pain_worth_it