← Alle Artikel

Multi-Technologie-Orchestrierung mit Robot Framework

von Rainer Haupt

TL;DR: Robot Frameworks Alleinstellungsmerkmal ist nicht der Reporting-Layer, nicht die Lesbarkeit, nicht die Foundation. Es ist die technologie-agnostische Orchestrierungsschicht: GUI, REST, SOAP, Datenbank, SSH und CLI in einer Testsuite mit einem einheitlichen Report. Playwright und Cypress sind spezialisierte Browser-Tools — sie scheitern bei Enterprise-Szenarien mit drei oder mehr Technologien. Python als Glue Language unter RF macht den Unterschied. Die Schwäche bleibt: rund 30–40 % Execution-Overhead gegenüber pytest. Ab 10’000+ Tests wird das zum CI/CD-Engpass.

Lesedauer ca. 13 Min · Stand: 2026-04


Wer Robot Framework gegen Playwright oder pytest ausspielt, vergleicht Frameworks, die unterschiedliche Probleme lösen. Playwright ist ein hervorragendes Browser-Automatisierungs-Tool. pytest ist ein erstklassiger Test-Runner für Python-Code. Beide haben einen klaren Sweet Spot — und der ist nicht «der gesamte Enterprise-Testflow». Genau dort spielt RF seinen einzigen wirklich differenzierenden Vorteil aus: ein Test, der Browser, REST, SOAP, Datenbank, SSH und CLI orchestriert, lässt sich in keinem dieser Werkzeuge ohne erheblichen Custom-Engineering-Aufwand abbilden.

Eine Testsuite, sechs Technologien

RF-Core weiss nichts über das Testobjekt — alles läuft über austauschbare Libraries. Eine einzelne .robot-Datei kann kombinieren:

LibraryTechnologieBasis
SeleniumLibrary / BrowserBrowser-GUISelenium / Playwright
RequestsLibraryREST APIsPython requests
SoapLibrary / ZeepLibrarySOAP APIsPython zeep
DatabaseLibrarySQL-Asserts (PostgreSQL, MySQL, Oracle, MSSQL, SQLite)DB-API 2.0
SSHLibraryRemote-BefehlePython paramiko
Process / OperatingSystemCLI, DateisystemBuilt-in

Alles in einem einzigen HTML-Report, mit Tag-Statistiken und Keyword-Execution-Traces.

Die Praxis bestätigt das Muster. Spryker betreibt eine Open-Source-RF-Suite, die API-Tests (RequestsLibrary) mit UI-Tests (Browser/Playwright) im selben Projekt kombiniert. Accruent Zoomba bündelt APILibrary, GUILibrary und SOAPLibrary in einem Import. Sogeti Labs berichtet von «great experiences with Robot Framework in complex system landscapes, including API, E2E, Web Application, and Back End Testing». An der RoboCon 2025 in Helsinki gab es einen Workshop zu BPMN-orchestrierter E2E-Testorchestrierung mit RF.

Die DatabaseLibrary verdient eine Anmerkung: sie unterstützt mehrere gleichzeitige DB-Verbindungen mit Aliassen. Ein Test kann gegen eine PostgreSQL-Transaktions-DB und eine MySQL-Reporting-DB parallel Queries absetzen und Asserts auf beiden Ergebnissen formulieren. Ein typisches Szenario: REST-API-Call verifizieren, transaktionale DB und Reporting-DB gleichzeitig prüfen.

Wo Playwright und Cypress ausserhalb des Browsers an Grenzen stossen

Playwright positioniert sich explizit als «framework for Web Testing and Automation». Mit APIRequestContext deckt es REST ab — das funktioniert. Datenbank, SSH, SOAP: jedes Mal eigene npm-Packages importieren und Custom-Code schreiben. Es gibt keine PlaywrightSSHLibrary, keine PlaywrightSOAPLibrary, keine PlaywrightDatabaseLibrary. Jedes Team baut die Integrationsschicht von Grund auf.

Cypress ist noch deutlicher. Die eigene Dokumentation sagt: «Cypress is not a general purpose automation tool.» Der einzige Ausweg für Nicht-Browser-Tests ist cy.task() — eine Bridge vom Browser-Kontext in einen Node.js-Prozess. cy.task() hat sechzig Sekunden Default-Timeout, keinen Retry-Mechanismus, akzeptiert nur JSON-serialisierbare Argumente, erlaubt nur einen Argument-Call, blockiert die Ausführung. GitHub Issue #14419 dokumentiert eine SSH-Tunnel-Integration, die in Cypress 5.6 funktionierte und in Cypress 6.0 vollständig brach. SOAP-Support ist praktisch nicht vorhanden.

Im direkten Vergleich:

FähigkeitRobot FrameworkPlaywrightCypress
SOAP APIsSoapLibrary, ZeepLibrary, SudsLibrarykein Support — manuelles XML/HTTPkein Support
DB-AssertionsDatabaseLibrary (Multi-DB, Aliased Connections)manueller npm-Package-Importcy.task() Escape-Hatch
SSH-BefehleSSHLibrary (paramiko-basiert)kein Support — manuelles npm-Packagecy.task() (fragil)
Message QueuesCustom Python Library (trivial erstellbar)manuelles npm-Packagecy.task()
Unified Reportingalle Technologien in einem HTML-Reportseparat pro Fähigkeitnur Browser-fokussiert
Multi-Tech in einem Testnativ, ein .robot-Fileeigene Integrationsschicht nötigeigene Integrationsschicht nötig

Bei drei oder mehr Technologien in koordinierten Testflows — Browser-Submit, dann API-Verify, dann DB-Check, dann SSH-Logfile — liefert RF fertige, community-gepflegte Libraries für jeden Schritt. Playwright und Cypress erfordern dafür signifikantes Custom-Engineering.

Python als Glue Language ist der eigentliche Wettbewerbsvorteil

Die Architektur «Thin Robot Layer» macht jede Python-Funktion automatisch zu einem RF-Keyword: def connect_to_database() wird zum Keyword Connect To Database. Der @keyword-Decorator und PythonLibCore erlauben grössere modulare Libraries.

Die wahre Stärke liegt in den Sprach-Ökosystemen, gegen die Playwright/Cypress antreten:

BereichPythonJavaScript / Node.js
SOAPzeep — ausgereift, pythonic, CLI für WSDL-Inspektionnode-soap — selbstdeklariert «still working out some kinks regarding namespaces»
SSHparamiko — Gold-Standard seit 2003ssh2 — weniger ausgereift, weniger verbreitet
DB-InterfaceDB-API 2.0 (PEP 249) — standardisiert über alle Treiberkein standardisiertes Interface
Wissenschaftlich/Datenpandas, numpy, scipyweniger ausgereift
Legacy-Systemeexzellent (SOAP, LDAP, SNMP, Telnet)lückenhaft

Aus dem RF-Forum: «My approach is to only write test cases in robot files and all implementations will be on Python as custom libraries.» Xebia ergänzt: «These Python functions are basically small wrappers — through them the integration layer wraps the external test driver.»

Bemerkenswert ist, was Robocorp bei der RF-Deprecation 2024 schrieb: «Robot Framework has served us well — all based on Python. By focusing on Python only, we allow scale and speed that only comes with Python’s ecosystem.» Das bestätigt indirekt, was hier wichtig ist: die Power lag immer in Python. Die Frage ist nur, ob der RF-Layer darüber genug Mehrwert bietet, um den Overhead zu rechtfertigen.

Wann Nicht-Techniker tatsächlich RF-Tests schreiben

RFs Marketing-Versprechen «Tester ohne Programmierhintergrund schreiben Tests» wird in vielen Erfahrungsberichten relativiert. Die Realität ist genauer: Nicht-Techniker schreiben RF-Tests real, aber nur unter klar benennbaren Bedingungen.

Die Voraussetzung ist eine vorab vom technischen Team aufgebaute Keyword-Library. Ein Hacker-News-Bericht (anbotero) beschreibt den Aufbau: «große Menge häufig genutzter Phrasen für UI- und API-Interaktion», sechs fokussierte Monate Aufbau-Arbeit, danach «people were happy». Wichtige Differenzierung im selben Bericht: es waren «technical PMs — PMs that read API documentation — just not ‘coding much’ PMs». Also Domänenexperten mit technischer Grundbildung, nicht im engen Sinne Nicht-Techniker.

Die organisatorischen Voraussetzungen sind benennbar: geschichtete Keyword-Architektur (Xebia beschreibt drei Ebenen — technischer Workflow, Workflow-Aktivität, Business Rule), BDD/Gherkin-Syntax-Support in RF, vorgefertigte Keyword-Vokabulare für die Domäne, RF-Styleguide-Disziplin («Test cases should not look like scripts»).

Deutlich häufiger und realistischer ist das Lese-Szenario: Business Analysten, Product Owner und Auditoren verifizieren RF-Tests, schreiben sie aber nicht selbst. Gut designte RF-Tests lesen sich wie Spezifikationen:

*** Test Cases ***
Bestellung mit Rabattcode abschliessen
    Öffne Produktseite    Laptop X1
    Lege Produkt In Warenkorb
    Gebe Rabattcode Ein    SOMMER2025
    Schliesse Bestellung Ab
    Prüfe Bestellbestätigung    Rabatt 10%

Ein PO oder BA kann verifizieren, ob das der korrekte Geschäftsprozess ist. Das pytest-Äquivalent — eine Funktion test_order_with_discount_code — ist für nicht-technische Stakeholder schwerer zu lesen.

Gegenüber Gherkin/Cucumber hat RF den Vorteil, dass es ausführbare Keyword-Libraries out-of-the-box bündelt. Cucumber/Gherkin verlangt, alle Step Definitions selbst zu coden. RFs Einstiegshürde für das Thin-Layer-Pattern ist deutlich niedriger.

Compliance-Dokumentation in regulierten Branchen

Bestätigte RF-Nutzer in regulierten Sektoren liefern den Reality-Check. KONE Corporation — sicherheitskritische Embedded Software für Aufzüge und Rolltreppen, RF-Foundation-Member. Nokia — Telekom-Equipment-Validierung, RF-basierte Network Test Automation (NTA). OP Financial Group — Finnlands grösste Finanzdienstleistungsgruppe, mit Vortrag an der RoboCon 2025. CERN — Physik-Forschung, RF-Quickstart-Guide dokumentiert.

Was RF für Compliance konkret liefert:

RF-FeatureRegulatorischer Nutzen
output.xmlMaschinenlesbar, archivierbar, auditierbar
report.htmlStakeholder-lesbare Zusammenfassung mit Tag-Statistiken
log.htmlExhaustive Keyword-Execution-Traces mit Timestamps
[Documentation]Testfall-Beschreibung in natürlicher Sprache
[Tags]Mapping zu Requirement-IDs ([Tags] REQ-001 RISK-HIGH) — Requirements Traceability Matrix
Plain-Text-FormatVersionskontrolle, Change-History, Diff-Fähigkeit
Keyword-Trennung«Was testen» (lesbar für Auditoren) gegenüber «Wie testen» (technisch)
Übersetzung (RF 6.0+)Section-Header und BDD-Prefixes in Landessprache möglich

Was RF nicht liefert — die ehrliche Lücke: keine eingebauten elektronischen Signaturen (FDA 21 CFR Part 11), keine formale Tool-Qualifizierung für sicherheitskritische Standards (DO-178C/DO-330), keine native ALM/Requirements-Management-Integration. Jira, ReportPortal und Allure dienen als Third-Party-Bridges. RF liefert hervorragendes Rohmaterial für Compliance-Doku; die Lücke zur formalen Compliance schliesst die umgebende Infrastruktur (CI/CD, DMS, ALM).

Was der RF-Layer konkret über pytest hinaus liefert

Fünf Vorteile sind belegbar:

VorteilDetail
Tag-SystemStärkster Differentiator bei Skalierung. Statistiken pro Tag im Log-Header. Tags an Jira-Bug-IDs bindbar. Tesena: «There is tagging in pytest, but it is not logged. Almost no one does this.»
Built-in HTML-ReportingZero-Config. pytest braucht Allure oder pytest-html als separate Plugins.
Suite Setup / TeardownTeilt State natürlich über alle Tests einer Suite. pytest scope='class'-Fixtures erzeugen separate Instanzen — Environment-Provisioning wird komplexer.
Erzwungene TestorganisationOpinionated Section-Struktur (*** Settings ***, *** Variables ***, *** Test Cases ***, *** Keywords ***) verhindert Wildwuchs in grossen Codebasen.
Listener InterfaceEvent-driven Extensibility ohne Test-Modifikation.

Vier Kosten ebenfalls:

KostenDetail
30–40 % langsamerKeyword-Parsing-Overhead. Bei 10’000+ Tests bedeutet das Stunden Unterschied pro Lauf.
Parametrisierungpytest @pytest.mark.parametrize generiert dynamisch siebzig+ Kombinationen aus einer Definition. RF braucht explizite Testdefinitionen oder das Test-Template-Konstrukt.
Plugin-Ökosystempytest hat über 1’300 Plugins. RFs Plugin-Markt ist kleiner und in der Wartungsqualität gemischter.
Debuggingpytest mit Standard-Python-Debugger und IDE-Breakpoints. RF-DSL erschwert Debugging erheblich.

Der Inflection Point liegt bei rund 10’000 Tests. Maxilect, das beide Frameworks über verschiedene Projekte nutzt, kommt zu einer praktischen Heuristik: RF wo Acceptance-Testing und Nicht-Techniker-Collaboration wichtig sind, pytest wo Developer-Teams Speed brauchen. Mehrere dokumentierte Enterprise-Migrationen RF → pytest fanden ab dieser Schwelle wegen der Performance statt.

Einordnung — wann RF (Thin Layer) die richtige Wahl ist

Robot Framework ist überlegen, wenn fünf oder mehr Testtechnologien in koordinierten Testflows zusammenkommen, wenn Mixed-Skill-Teams beteiligt sind, wenn regulierte Branchen lesbare Test-Doku und Audit-fähige HTML-Reports brauchen, wenn BAs und POs Tests als lebende Dokumentation lesen, oder wenn einheitliches Reporting über alle Technologien hinweg Pflicht ist.

Robot Framework ist nicht überlegen, wenn die Testsuite in einer einzigen Technologie liegt (nur Browser oder nur API), wenn das Team rein aus Developern besteht und keine Nicht-Techniker-Stakeholder einbezieht, wenn die Suite 10’000+ Tests umfasst und Execution-Speed CI/CD-kritisch wird, oder wenn nur Unit- und Integrationstests anstehen — dafür ist pytest direkt die bessere Wahl.

Der pragmatische Hybrid-Ansatz aus mehreren Erfahrungsberichten: RF für Acceptance- und End-to-End-Tests (Lesbarkeit, Multi-Tech-Orchestrierung, Reporting), pytest für API-, Integration- und Unit-Tests (Speed, Flexibilität, Debugging), und in beiden Fällen RF + Browser Library statt RF + Selenium für die deutlich höhere Browser-Performance. Das ist die Konfiguration, in der RF seinen einen wirklich differenzierenden Vorteil ausspielt — ohne den Ballast, den die Sprache an anderer Stelle mitbringt.

Quellen


Sie evaluieren Robot Framework für eine heterogene Testlandschaft oder bewerten den Hybrid-Ansatz RF + pytest? Im UTAA-Workshop sortieren wir die Architekturentscheidung projektspezifisch ein. Mehr zur Methode oder direkt anfragen.

Rückruf anfordern