Human-Computer-Interaction

RPA und Testautomatisierung mit nur einem Tool: Robot Framework

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.

Script mit Robot Framework IDE
Script-Beispiel in der Robot Framework IDE

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:

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

Beitrag teilen

Hidde de Vries

Hidde de Vries ist Werkstudent bei der Siemens Schweiz und bloggt aus dem Unterricht des Moduls GPDA.

Alle Beiträge ansehen von Hidde de Vries →

Schreibe einen Kommentar