Du baust Testautomatisierung auf und stehst vor der Frage, ob Robot Framework noch das richtige Werkzeug ist? 2026 hat sich die Antwort verschoben. KI-Agenten schreiben Robot-Tests, MCP-Server binden LLMs direkt an die Test-Suite, und der Browser-Library-Stack ist nahe an Playwright-Niveau.
Ich habe in den letzten Jahren mehrere Robot-Framework-Projekte begleitet, von der ersten Web-Automatisierung bis zu CI/CD-Pipelines mit über 800 Test-Cases pro Nacht. Was sich dabei geändert hat, ist nicht das Framework selbst, sondern wie wir damit arbeiten.
In diesem Tutorial zeige ich dir, wie Robot Framework 7.4 funktioniert, wie du es mit Browser-Library, RobotMCP und Self-Healing-Agents kombinierst und wo die ehrlichen Grenzen gegenüber Playwright und Selenium liegen. Code aus echten Projekten, keine Marketing-Folien.
Inhaltsverzeichnis
- Was ist Robot Framework?
- Robot Framework 7.4.2: Was 2026 neu ist
- Architektur: Test-Library, Runner, Tools
- Installation: Python, pip, VS Code
- Dein erster Test mit Browser-Library
- Playwright-Integration mit robotframework-browser
- RobotMCP: KI-Agenten schreiben Robot-Tests
- Self-Healing Tests mit KI
- Robot Framework in CI/CD-Pipelines
- Xray-Integration für Jira-Testmanagement
- Robot Framework vs. Playwright vs. Selenium
- Häufige Stolperfallen
- Fazit
- Häufige Fragen (FAQ)
Was ist Robot Framework?
Robot Framework ist ein Open-Source-Tool für die schlüsselwortgetriebene Testautomatisierung. Die Idee: Tests bestehen aus lesbaren Keywords statt aus Programmcode. Wer Englisch lesen kann, kann einen Robot-Test verstehen. Auch ohne Python-Kenntnisse.
Das Framework ist in Python geschrieben, läuft auf Linux, macOS und Windows und unterstützt alle gängigen Testarten: Komponententest (Unit-Test), API-Test, Ende-zu-Ende-Test (E2E), Abnahmetest (Akzeptanztest) und mit der RPA-Library auch Robotic Process Automation. Lizenz: Apache 2.0.
Aktuelle Version 2026: Robot Framework 7.4.2, veröffentlicht am 03. März 2025. Mehr dazu im nächsten Abschnitt.
Was bedeutet "Keyword-Driven"?
Ein Keyword ist eine wiederverwendbare Aktion, zum Beispiel "Open Browser", "Click Element" oder "User Logs In With Credentials". Tests werden aus Keywords zusammengesetzt, nicht aus Code. Das senkt die Einstiegshürde für Testanalysten ohne Programmiererfahrung und macht Tests gleichzeitig zur ausführbaren Dokumentation.
Robot Framework 7.4.2: Was 2026 neu ist
Die 7.4-Serie hat zwei Features mitgebracht, die in der Praxis sofort spürbar sind:
- Secret Variables: Sensible Werte wie Tokens oder Passwörter werden im Log automatisch maskiert. Endlich kein Workaround mehr für DSGVO-Audits.
- Typed Standard Library Keywords: Type Hints für die Built-In Library reduzieren Laufzeitfehler bei falschen Argumenttypen.
- RPA-Verbesserungen: Bessere Fehlermeldungen bei Schleifen und gemischten Variablentypen.
Wer noch auf 7.1.1 oder älter sitzt, hat 2026 zwei Argumente für ein Upgrade: die KI-Integration über RobotMCP (siehe unten) braucht mindestens Robot Framework 7.0, und die Browser-Library-Versionen ab 19.x setzen aktuelle Robot-Versionen voraus.
Quelle: Robot Framework Releases auf GitHub.
Architektur: Test-Library, Runner, Tools
Robot Framework ist modular. Vier Ebenen greifen ineinander:
- Test Data: Deine Tests selbst, geschrieben in
.robot-Dateien. Plain Text, Keyword-basiert. - Test Libraries: Die Werkzeuge, die deine Keywords liefern. Browser-Library für Web-UI, Requests-Library für REST-APIs, Database-Library für SQL, OperatingSystem für Dateioperationen.
- Test Framework: Der Kern. Parser, Runner, Variable Resolver, Listener-Schnittstelle.
- System Under Test: Die zu testende Anwendung (Web, API, Desktop, mobile App via Appium).
Der entscheidende Vorteil: du kannst Libraries beliebig kombinieren. Ein Test, der über die REST-API einen Datensatz erzeugt und anschließend per Browser-Library im UI verifiziert, ist eine Datei.
Installation: Python, pip, VS Code
Robot Framework setzt Python 3.8 oder neuer voraus. Auf macOS und Linux ist Python meist schon installiert, unter Windows holst du es von python.org.
# Robot Framework + Browser-Library installieren
pip install robotframework
pip install robotframework-browser
# Browser-Library braucht Node.js (für Playwright im Hintergrund)
rfbrowser init
# Versions-Check
robot --version
# > Robot Framework 7.4.2 (Python 3.12.x on darwin)
Als Editor empfehle ich Visual Studio Code mit der RobotCode-Extension. Sie liefert Syntax-Highlighting, Keyword-Autovervollständigung, Inline-Dokumentation und einen Debug-Adapter. Wenn du Robot zum ersten Mal anfasst, spart das Stunden.
Dein erster Test mit Browser-Library
Ein minimaler Login-Test sieht so aus:
*** Settings ***
Library Browser
*** Variables ***
${URL} https://www.saucedemo.com
${USERNAME} standard_user
${PASSWORD} secret_sauce
*** Test Cases ***
SauceDemo Login funktioniert
[Documentation] Login mit gültigen Credentials muss zum Inventar führen.
New Browser chromium headless=False
New Page ${URL}
Fill Text id=user-name ${USERNAME}
Fill Text id=password ${PASSWORD}
Click id=login-button
Get Url == ${URL}/inventory.html
Close Browser
Ausführen mit robot login.robot. Robot generiert automatisch drei Reports: log.html mit Schritt-für-Schritt-Trace, report.html mit Übersicht und output.xml für CI-Auswertung.
Die Schreibweise ist bewusst tabellarisch. Anfänger lesen die Tests wie ein Drehbuch, Fortgeschrittene schreiben eigene Keywords für wiederkehrende Schritte.
Playwright-Integration mit robotframework-browser
Die Browser-Library ist seit Version 18 die strategische Empfehlung der Robot Framework Foundation für moderne Web-Tests. Sie wrappt Microsoft Playwright im Hintergrund und liefert dir Auto-Wait, Network-Mocking und Trace-Viewer in Robot-Syntax.
Was das in der Praxis bedeutet: keine expliziten Waits mehr, keine Flakiness durch Race Conditions, und beim Debuggen siehst du im Playwright-Trace-Viewer jede Aktion mit Screenshot.
*** Test Cases ***
API-Setup + UI-Verifikation in einem Test
[Documentation] Kombiniert REST-Setup mit UI-Verifikation.
${product_id}= Create Product Via Api name=Testprodukt
New Browser chromium
New Page ${BASE_URL}/products/${product_id}
Get Text h1 == Testprodukt
Get Element States css=.in-stock contains visible
Einen detaillierten Praxisfall mit Page Objects, Custom Keywords und Test-Daten-Patterns findest du in Teil 2 dieser Serie: Ein komplexer Testfall. Wer einen tiefen Vergleich mit reinem Playwright sucht, liest Playwright Tutorial auf Deutsch.
RobotMCP: KI-Agenten schreiben Robot-Tests
Hier kommt der größte Umbruch 2026. RobotMCP (rf-mcp) von Many Kasiriha verbindet Large Language Models über das Model Context Protocol direkt mit einer laufenden Robot-Framework-Runtime. Many Kasiriha ist Robot Framework Foundation Board Member und stellte RobotMCP unter anderem beim German Testing Day 2026 und auf der RoboCon 2026 in Helsinki vor. Talk-Titel auf der RoboCon: Eliminating AI Hallucinations in Test Generation.
Das Kernproblem, das RobotMCP löst: Wenn du einem LLM "schreib mir einen Robot-Test für SauceDemo" sagst, halluziniert es Keywords, die es gar nicht gibt. Browser-Library 19 hat andere Keyword-Signaturen als Browser-Library 17, das Modell rät, das Ergebnis kompiliert nicht.
RobotMCP greift LibDoc ab, die offizielle Robot-Framework-Dokumentations-Schnittstelle, und liefert dem LLM nur die Keywords, die in deiner aktuellen Installation wirklich existieren. Das Tool führt jeden Schritt vor der Code-Generierung einmal aus, prüft das Ergebnis und lässt dann erst den finalen Test schreiben.
Installation und MCP-Client-Anbindung
# RobotMCP installieren (Python 3.10+, Robot Framework 7.0+)
pip install rf-mcp
# Für Web-Tests mit Browser-Library:
pip install rf-mcp[web]
# Versions-Check
rf-mcp --version
# > rf-mcp 0.31.2
MCP-Tools, die RobotMCP bereitstellt
Die wichtigsten Tools, die ein LLM über den MCP-Server aufrufen kann:
find_keywords: sucht nach Keywords in installierten Libraries.get_keyword_info: liefert Argumente, Dokumentation, Beispiele.execute_step: führt einen einzelnen Schritt in der Live-Runtime aus.build_test_suite: generiert die fertige.robot-Datei aus validierten Schritten.recall_locator: semantischer Memory-Speicher für Locator-Wiederverwendung.
RobotMCP funktioniert mit Claude Desktop, VS Code (Cline), Continue und jedem anderen MCP-fähigen Client. Apache-2.0-Lizenz, aktive Wartung, 22 Releases. Der MCP-Server kann lokal über STDIO oder per HTTP angebunden werden.
In meinen Tests mit GPT-4 und Claude 3.5 hat sich die Halluzinationsrate auf nahezu null reduziert. Das ist kein Marketing-Bullet, das ist die direkte Folge davon, dass das LLM keine Keywords mehr erfinden kann, sondern nur noch aus dem realen Keyword-Index ziehen darf.
Self-Healing Tests mit KI
Die zweite KI-Welle 2026 heißt Self-Healing. Idee: Ein Test bricht, weil sich ein Selektor geändert hat. Statt dass dein Test rot wird und du nachts geweckt wirst, analysiert ein Agent die Änderung, sucht den neuen Selektor und repariert den Test selbst.
Im Robot-Framework-Ökosystem heißt der Ansatz robotframework-selfhealing-agents und wird oft mit RobotMCP kombiniert. Tuukka Virtanen hat das Setup im Sogeti-Labs-Artikel 2026 beschrieben.
Was du dafür brauchst:
- RobotMCP als MCP-Server.
- Einen MCP-fähigen Agenten, der bei Fehlschlägen den DOM-Snapshot analysieren darf.
- Eine Locator-Strategie, die mehrere Fallback-Optionen kennt (Test-IDs vor CSS vor XPath).
Ein Wort der Ehrlichkeit: Self-Healing ist heute kein Set-it-and-forget-it. Du brauchst Reviews der Auto-Reparaturen, sonst stabilisierst du falsche Annahmen. Wer tiefer in KI-Testing einsteigen will, dem empfehle ich KI im Software Testing: ISTQB CT-GenAI, Prompts und Praxis und den Überblick zu Agentic AI Testing.
Robot Framework in CI/CD-Pipelines
Tests, die nur lokal grün sind, helfen niemandem. Robot Framework integriert sauber in alle gängigen CI-Systeme, weil der Output ein XML-File ist, das jeder JUnit-Reporter versteht.
Jenkins-Beispiel
pipeline {
agent any
stages {
stage('Robot Tests') {
steps {
sh 'pip install robotframework robotframework-browser'
sh 'rfbrowser init'
sh 'robot --outputdir results tests/'
}
post {
always {
robot outputPath: 'results',
onlyCritical: false,
passThreshold: 95,
unstableThreshold: 90
}
}
}
}
}
Das Robot-Jenkins-Plugin parst die output.xml und zeigt Trends, Flaky-Tests und Logs direkt im Job-Dashboard. Für Details lies Was ist Jenkins? Praxis-Guide für CI/CD-Pipelines.
GitHub Actions Workflow
name: robot-e2e
on:
push:
branches: [main]
schedule:
- cron: '0 2 * * *'
jobs:
e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install robotframework robotframework-browser
- run: rfbrowser init
- run: robot --outputdir results tests/
- uses: actions/upload-artifact@v4
if: always()
with:
name: robot-results
path: results/
Weiteres zu GitHub Actions findest du in GitHub für Entwickler: Repositories, Actions und Copilot und allgemein zu CI/CD in CI/CD Pipeline einfach erklärt.
Xray-Integration für Jira-Testmanagement
Wer in regulierten Branchen arbeitet, braucht Test-Ergebnisse in Jira. Xray liest Robot-Framework-Ergebnisse direkt aus der output.xml:
# Robot-Ergebnisse via Xray-CLI in Jira hochladen
xray import results \
--format robotframework \
--file results/output.xml \
--project-key DBI \
--test-plan-key DBI-1234
Robot-Tags werden zu Xray-Test-Cases, Suite-Namen zu Test-Sets. Die Verknüpfung zu Anforderungen läuft über Jira-Issue-Keys in den Test-Tags. Mehr in Testmanagement mit Jira und Xray.
Robot Framework vs. Playwright vs. Selenium
Die häufigste Frage in unseren Beratungen: "Sollen wir Robot Framework nehmen oder reines Playwright?" Die ehrliche Antwort hängt vom Team ab.
| Kriterium | Robot Framework + Browser | Playwright (TS) | Selenium |
|---|---|---|---|
| Einstieg ohne Code | sehr gut | schwach | schwach |
| Web + API + Desktop in einem Tool | sehr gut | nur Web | nur Web |
| Auto-Wait, kein Flake | sehr gut (über Browser-Library) | sehr gut | manuell |
| Geschwindigkeit Test-Lauf | gut | sehr gut | befriedigend |
| KI-Integration 2026 | RobotMCP, Self-Healing-Agents | via Playwright-MCP | kaum |
| Reporting out-of-the-box | sehr gut | sehr gut (HTML-Reporter) | schwach |
| Lern-Hürde Entwickler-Team | mittel (eigene Syntax) | niedrig (TypeScript) | niedrig |
Faustregel aus meiner Praxis: gemischtes Team mit Testanalysten ohne Code-Hintergrund nimmt Robot Framework, reines Dev-Team mit TypeScript-Erfahrung nimmt Playwright. Selenium nur noch bei Bestandscode oder Legacy-Browsern.
Häufige Stolperfallen
Vier Fehler sehe ich in fast jedem Robot-Projekt, das ich übernehme:
- Implizite Selektoren statt Test-IDs: Tests, die auf
xpath=//div[3]/spansetzen, brechen beim ersten UI-Refactor. Bitte das Dev-Team umdata-testid-Attribute, das spart später hunderte Stunden. - Sleep statt Wait: Die Built-In Library hat
Sleep. Nutze es nie produktiv. Browser-Library hatWait For Elements State, das ist deterministisch und schnell. - Resource-Files ohne Library-Pinning: Wenn dein
resources.robotverschiedene Library-Versionen erwartet, sind nächtliche Builds eine Lotterie. Pinne inrequirements.txt. - Keine Test-Daten-Strategie: Tests, die auf "echte" Datenbank-Inhalte zugreifen, sind nicht reproduzierbar. Baue dir API-Setup-Keywords, die jedes Test-Datum frisch erzeugen.
Fazit: Robot Framework bleibt relevant, wenn du KI mitnimmst
Robot Framework hat 2026 zwei strategische Stärken: die niedrige Einstiegshürde für gemischte Teams und die KI-Integration über RobotMCP. Wer das nutzt, schreibt Tests schneller, hält die Flakiness niedrig und kann Bestands-Suites durch Self-Healing-Agents am Leben halten.
KI ersetzt keine Tester. Sie ersetzt Tester, die keine KI nutzen.
Wenn du heute startest: Browser-Library 19, Robot Framework 7.4.2, RobotMCP 0.31, VS Code mit RobotCode. Wenn du eine bestehende Suite hast: aktualisiere die Versionen, pinne sie, dann hängst du RobotMCP an. In dieser Reihenfolge, nicht umgekehrt.
Häufige Fragen zum Robot Framework (FAQ)
Was kostet Robot Framework?
Nichts. Robot Framework ist Open Source unter Apache 2.0 Lizenz. Auch alle gängigen Libraries (Browser, Requests, Database) sind kostenfrei. Kosten entstehen nur für Browser-Cloud-Dienste wie BrowserStack oder bezahlte CI-Runner.
Brauche ich Python-Kenntnisse für Robot Framework?
Nein, nicht für den Einstieg. Du schreibst Tests in Keyword-Syntax. Python brauchst du erst, wenn du eigene Libraries entwickelst oder komplexe Custom-Keywords baust. Für die meisten Web-Tests reicht Browser-Library aus.
Robot Framework oder Playwright: Was ist besser?
Beide sind sehr gut, der Use-Case entscheidet. Robot Framework gewinnt bei gemischten Teams, Web-plus-API-Tests und KI-Integration über RobotMCP. Playwright gewinnt bei reinen Dev-Teams mit TypeScript-Stack. Details siehe Vergleichstabelle oben und Playwright Tutorial auf Deutsch.
Was ist RobotMCP genau?
RobotMCP (rf-mcp) ist ein Model-Context-Protocol-Server von Many Kasiriha. Er verbindet KI-Agenten wie Claude oder GPT mit einer laufenden Robot-Framework-Runtime, lädt LibDoc und verhindert Keyword-Halluzinationen. Repo: github.com/manykarim/rf-mcp.
Welche Version von Robot Framework soll ich installieren?
Stand 2026-05: Robot Framework 7.4.2. Für RobotMCP brauchst du mindestens 7.0, für Browser-Library 19 ebenfalls. Wer noch auf 6.x ist, plant ein Upgrade ein, sonst fehlen Secret Variables und KI-Integration.
Funktioniert Robot Framework mit CI/CD?
Ja, sehr gut. Output ist JUnit-kompatible XML. Jenkins hat ein eigenes Robot-Plugin, GitHub Actions, GitLab CI und Azure DevOps lesen den Output nativ. Setup-Beispiele oben im CI/CD-Abschnitt und in CI/CD Pipeline einfach erklärt.