Softwaretests sind wichtig, denn nur so kann man sich einen Überblick über die Funktionsfähigkeit eines Produkts verschaffen. Robot Framework bietet sich dafür an, denn es kann nicht nur Tests, sondern auch Prozessabläufe automatisieren.
Die Entwicklung und Ausführung von Tests brauchen Zeit. Testautomatisierung hingegen verspricht den Aufwand für die Testdurchführung zu reduzieren. Jedoch ist jede Automatisierung zu Beginn meist sehr aufwändig. Auch die Evaluierung und Einführung von RPA (Robotic Processing Automation) wird als sehr aufwändig wahrgenommen. Mit Robot Framework lassen sicht Tests automatisieren und RPA betreiben. Eigentlich wurde Robot Framework ursprünglich dazu entwickelt, die Abläufe bei manuellem Testen zu automatisieren, jedoch eignet sich das Framework auch für RPA.
Wieso Robot Framework?
- Tests können gut lesbar beschrieben werden und sind entsprechend gut wartbar
- Bei jeder Ausführung wird ein ausführliches Log-File und Report-File in HTML-Format erzeugt
- Tests sind in Text-Dateien definiert, welche entsprechend versionierbar sind
- Einfaches Einbinden von beliebigen Python-Bibliotheken
- Möglichkeit, eigene Bibliothek für Robot Framework zu programmieren
- Open Source, Apache License 2.0
Aufbau von Robot Framework
Robot Framework verwendet für die Durchführung von Tests sogenannte Schlüsselwörtern (Keywords), welche in Test-Scripts angewendet werden. Schlüsselwörter umfassen Abläufe in Robot Framework, bestehend aus anderen Schlüsselwörtern und / oder Aufrufen von Bibliotheks-Funktionen. Die Schlüsselwörter werden in Bibliotheken gebündelt. Je nach Test werden die notwendigen Bibliotheken und damit deren Schlüsselwörter in die Test-Scripts importiert und können anschliessend verwendet werden. Innerhalb der Scripts gibt es Testfälle (Test Cases), welche eine bestimmten Ablauf von Keywords umfassen. Mehrere Test Cases können in sogenannten Testsammlungen (Test Suites) gesammelt werden.
Warum ist Robot Framework auch RPA-tauglich?
Mithilfe von Robot Framework lassen sich auch Prozessabläufe abstrahieren. Die Abstraktion geschieht hier nicht über Visualisierungstools, sondern über die textuelle Prozessbeschreibung anhand der Schlüsselwörter. Durch die Möglichkeit, mehrere Schlüsselwörter in einem neuen Schlüsselwort zu bündeln, kann die Fachsprache des Prozesses miteinbezogen werden. Durch diese Möglichkeit benötigt ein RPA-Entwickler nur rudimentäre Programmierkenntnisse. Einzig der Entwickler, der die Bibliothek unterhält und weiterentwickelt, muss Programmierkenntnisse in Python besitzen.
Beispiel
Angenommen, man möchte überprüfen, ob ein Suchresultat auf duckduckgo.com ein bestimmtes Resultat zutage fördert, zum Beispiel die eigene Websites durch Eingabe von Metadaten. Mit Robot Framework lässt sich regelmässig überprüfen, ob das Resultat wie gewünscht im Browser erscheint. Das Beispiel zeigt auf, wie im untersten Abschnitt Schlüsselwörter definiert werden, welche im Abschnitt Testfälle (Test Cases) anschliessend verwendet werden.

Was ist so toll an Robot Framework?
Durch die nahe Verwandtschaft von RPA und Testautomatisierung gelingt es Teams, die bereits Robot Framework einsetzen, verhältnismäßig leicht RPA zu betreiben, in dem sie auf ihrer bestehenden Infrastruktur aufbauen. Das Beispiel zeigt auf, dass man sehr einfach eine Bibliothek in gut lesbaren Testfällen ansteuern kann. Robot Framework generiert zudem stets detaillierte, standardisierte Ausgaben. Dieses Beispiel zeigt, wie Abläufe in gut lesbare Schlüsselwörter zusammengefasst werden und wie man Argumente an diese übergibt. Das Protokoll für die Steuerung wird für den Verfasser des Tests abstrahiert. Spätere Tests können nun komfortabel und einfach verständliche Schlüsselwörter benutzen. Durch die Verschachtelung von Schlüsselwörter lassen sich komplexe Abläufe in Prozessen oder Tests zusammenfassen.
IDE für Robot Framework
Ride ist die spezifisch für Robot Framework entwickelte IDE (integrierte Entwicklungsumgebung). Eine IDE ist eine Softwareanwendung, die Computerprogrammierern umfassende Funktionen zum Schreiben und Debuggen von Code bietet. RIDE enthält gängige Optionen, welche das Skripten, Debuggen etc. mit Robot Framework erheblich erleichtern.
Wie weiter?
Mit Robot Framework lassen sich komplette Testumgebungen oder Prozessautomatisierungen erstellen. Anbei sind einige Möglichkeiten aufgelistet, welche das Framework bietet:
- Schlüsselwörter als Resource-Files in verschiedenen Test Suiten importieren und verwenden
- Variablen (z.B. Zieladresse des Targets…) als Resource-Files importieren oder über die Kommandozeile setzen
- Mit Setup und Teardown definieren, was beim Beginn oder Ende eines Test Cases oder einer Test Suite ausgeführt wird
- Metadaten können während der Ausführung nach Belieben erfasst werden (z.B. Seriennummer des Targets, SW-Version…)
- Test Suites in Ordnern hierarchisch gliedern
- Test Cases mit Tags filtern
- Fertige Bibliotheken für Website-Testing, Datenbank-Zugriffe, FTP, SSH, … einbinden
- Data-driven Tests formulieren
- Post-Processing von Testresultaten (Zusammenführen von verschiedenen Durchläufen, Filtern…)
- Dokumentationen generieren
Weiterführende Informationen finden sich auf der Robot-Framework-Homepage, dem User-Guide und der Github-Page von RIDE. Untenstehendes Video ist Teil einer Playlist, welche eine Schritt-für-Schritt-Einführung in Robot Framework ermöglicht.
Quellen