Was ist das Robot Framework? Keyword-gesteuerte Testautomatisierung
Das Robot Framework ist ein Open-Source-Framework für Akzeptanztests, ATDD und RPA mit Keywords. Funktionsweise, Bibliotheken, typische Fehler und FAQ.
Was ist das Robot Framework?
Das Robot Framework ist ein quelloffenes, auf Python basierendes Automatisierungsframework für Akzeptanztests, Acceptance Test-Driven Development (ATDD) und Robotic Process Automation (RPA). Tests sind Textdateien aus Keywords, die auch Personen ohne Programmierkenntnisse lesen können. Entwickler ergänzen neue Keywords in Python, Java oder anderen Sprachen.
So funktioniert das Robot Framework
Die Testdaten stehen in Textdateien, meist mit der Endung .robot, gegliedert in Abschnitte mit Überschriften wie *** Settings ***, *** Variables ***, *** Test Cases *** und *** Keywords ***. Felder werden durch mindestens zwei Leerzeichen getrennt. Jede Zeile ruft ein Keyword mit Argumenten auf, und Keywords lassen sich zu übergeordneten Keywords kombinieren, die fachliche Handlungen beschreiben.
Keywords stammen aus Bibliotheken. Das Framework bringt Standardbibliotheken mit und hat ein großes Ökosystem externer Bibliotheken. Die Browser Library basiert auf Playwright, weitere decken Selenium, APIs und Datenbanken ab. Ein Testlauf erzeugt Report-, Log- und XML-Dateien, die CI-Server auswerten können. Auf robotframework.org ist Version 7.4.2 als aktuell angegeben. Getragen wird das Framework von der gemeinnützigen Robot Framework Foundation.
Beispiel: ein Login-Test
Ein Test namens Valid Login ruft Keywords wie Open Login Page, Input Username, Input Password, Submit Credentials und Welcome Page Should Be Open auf. Die technischen Schritte stehen im Abschnitt *** Keywords *** oder in einer Bibliothek, der Test selbst liest sich wie eine Anforderung. Ändert sich der Login-Bildschirm, korrigieren Sie ein Keyword statt jedes Tests. Das passt zu Regressionstests, die Produkt- und QA-Teams gemeinsam prüfen.
Häufige Fehler mit dem Robot Framework
- Lange Tests aus technischen Einzelschritten schreiben, statt Keywords zu bauen, die die Absicht beschreiben.
- Logik in die Testdaten legen. Schleifen und Bedingungen in
.robot-Dateien werden schnell unlesbar, besser ist ein Python-Keyword. - Locators und Testdaten in viele Tests kopieren, statt Variablen und Resource-Dateien zu nutzen.
- Viele externe Bibliotheken mischen, ohne deren Versionen festzulegen.
- Einen grünen Report als Beleg für Performance sehen. Funktionale Tests zeigen kein Verhalten unter Last.
Robot Framework und andere Testwerkzeuge
Das Robot Framework sitzt oft auf anderen Werkzeugen. Für Webtests kann es Playwright über die Browser Library nutzen, siehe Was ist Playwright. Für APIs kann es Endpunkte aufrufen, das überschneidet sich mit dem API-Testen. Wer den lesbaren Akzeptanzstil in Ruby mag, vergleicht Capybara. Java-Teams schauen oft auch auf TestNG.
Das Robot Framework prüft, ob Funktionen arbeiten. Wie sich ein Backend bei vielen gleichzeitigen Nutzern verhält, zeigt ein Lasttest. LoadFocus kann vorhandene JMeter-Skripte in der Cloud ausführen, siehe JMeter-Lasttests. LoadFocus ist nicht mit dem Robot Framework integriert.
Häufige Fragen
Ist das Robot Framework kostenlos?
Ja. Es ist Open Source unter der Apache License 2.0 und verursacht keine Lizenzkosten.
Brauche ich Python-Kenntnisse für das Robot Framework?
Nicht, um Tests aus vorhandenen Keywords zu schreiben. Für neue Keywords oder Bibliotheken schreibt man meist Python, möglich sind auch Java und andere Sprachen.
Was ist Keyword-getriebenes Testen?
Tests bestehen aus einer Folge benannter Aktionen (Keywords) statt aus Code. Keywords lassen sich aus anderen Keywords aufbauen, das hält Tests lesbar und wiederverwendbar.
Kann das Robot Framework Web-Apps und APIs testen?
Ja, über Bibliotheken. Die Browser Library auf Basis von Playwright und eine Selenium-Bibliothek decken Weboberflächen ab, weitere Bibliotheken APIs und Datenbanken.
Kann das Robot Framework Lasttests durchführen?
Nicht von sich aus. Es führt funktionale Tests und Akzeptanztests aus. Für das Verhalten unter vielen gleichzeitigen Nutzern brauchen Sie ein Lasttest-Werkzeug.
Verwandte Begriffe
Verwandte LoadFocus-Tools
Setze dieses Konzept mit LoadFocus in die Praxis um, derselben Plattform, die alles antreibt, was du gerade gelesen hast.