Robot Framework
Das Robot Framework ist ein generisches Framework zur Durchführung von automatisierten Softwaretests mit einem Schwerpunkt auf Akzeptanztests[3]. Robot verwendet eine einfache tabellenartige Struktur zur Verwaltung der Testdaten und stützt sich auf das Keyword-Driven Testing.
Robot Framework | |
---|---|
Basisdaten | |
Maintainer | Pekka Klärck, Janne Harkonen et al. |
Erscheinungsjahr | 24. Juni 2008[1] |
Aktuelle Version | 4.0.3[2] (25. Mai 2021) |
Betriebssystem | Plattformübergreifend |
Programmiersprache | Python |
Kategorie | Test-Framework |
Lizenz | Apache-Lizenz 2.0 |
robotframework.org |
Die Testfälle werden als Textdateien abgelegt und können grundsätzlich mit jedem beliebigen Text-Editor bearbeitet werden. Es gibt einige IDEs, die sich auf Robot Framework konzentrieren, so zum Beispiel Robot IDE (RIDE)[4] und RED[5], die auf Eclipse basiert. Diese bieten Funktionen wie Code-Vervollständigung, vereinfachte Verwaltung von Schlüsselwörtern und Debugging. Darüber hinaus gibt es von der Community getriebene Plugins für weitere gängige Entwicklungsumgebungen wie zum Beispiel PyCharm, Jupyter und Microsoft Visual Studio Code.
Geschichte
Die grundlegende Idee zum Robot Framework wurde 2006 in der Masterarbeit[6] von Pekka Klärck formuliert. Im gleichen Jahr wurde mit der Entwicklung einer ersten Version bei Nokia Siemens Networks (heute Nokia Solutions and Networks) begonnen. Version 2.0 wurde am 24. Juni 2008 als Open Source veröffentlicht.
Das in der Programmiersprache Python entwickelte Framework hat eine aktive Community. Es unterliegt der Apache 2.0 Lizenz und kann auf der Homepage des Projekts heruntergeladen werden.
Seit 2018 findet Mitte Januar jährlich die internationale Robot Framework Konferenz Robocon in Helsinki statt[7]. Die Konferenz besteht aus Workshops, Vorträgen und einem abschließenden Hackathon, den sogenannten Sprints.
Erweiterungen
Für Robot stehen zahlreiche Bibliotheken zur Verfügung, beispielsweise die Selenium Library[8] zum Testen von Webanwendungen.
Bibliotheken können besonders gut in Python implementiert werden. Auch andere Programmiersprachen sind möglich, wenn sie einen RemoteServer auf Basis des sogenannten RemoteInterface[9] implementieren. Der RemoteServer stellt mittels XML-RPC die Keywords zur Verfügung, damit in Testfällen auch Bibliotheken verwendet werden können, die zum Beispiel in Java implementiert sind.
Während der Robocon 2020 wurde die sogenannte MarketSquare-Organisation auf Github gegründet, unter der Bibliotheken der Community gesammelt und gemeinsam weiter entwickelt werden können[10].
Beispiele
Folgender Testfall implementiert das obligatorische Hello-World-Beispiel:
*** Test Cases ***
Logge 'Hello World'
Log Hello World
Log
ist ein eingebautes Schlüsselwort, das den nachfolgenden Parameter als Log-Eintrag in den Test-Report schreibt.
Mit Hilfe der SeleniumLibrary[8] werden genauso einfach Tests für Webanwendungen formuliert:
*** Settings ***
Library SeleniumLibrary
*** Test Cases ****
Teste Google-Suche
Open Browser https://www.google.de ie
Input Text lst-ib Robot Framework
Click Button Google-Suche
RPA
Zwar wurde Robot Framework ursprünglich dazu entwickelt, die Abläufe bei manuellem Testen zu automatisieren, jedoch eignet sich das Framework auch zu Robotergesteuerter Prozessautomatisierung. Dazu wurde der Sprachgebrauch mit der Version 3.1[11] um sogenannte Tasks erweitert. Technisch verhalten sich Tasks wie Testfälle:
*** Settings ***
Library SeleniumLibrary
Task Teardown Close Browser
*** Tasks ***
Suche 'Robot Framework' mit Google
Open Browser https://www.google.de headlesschrome
Input Text lst-ib Robot Framework
Click Buton Google-Suche
Capture Screenshot
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.[12]
Weblinks
Einzelnachweise
- code.google.com. (abgerufen am 3. Dezember 2013).
- Release 4.0.3. 25. Mai 2021 (abgerufen am 21. Juni 2021).
- Robot Framework Homepage (englisch)
- RIDE Homepage (englisch)
- Robot Editor. In: Github. Nokia, abgerufen am 16. Juni 2020 (englisch).
- Laukkanen, Pekka: „Data-Driven and Keyword-Driven Test Automation Frameworks“, 2006
- Robocon. Robot Framework Foundation, abgerufen am 16. Juni 2020 (englisch).
- Robot Selenium Library (englisch)
- RemoteInterface. In: Github. Abgerufen am 16. Juni 2020 (englisch).
- Robot Framework Community's shared code repositories. In: Github. Abgerufen am 16. Juni 2020 (englisch).
- Pekka Klärck: Robot Framework 3.1 - Release Notes. Abgerufen am 16. Juni 2020 (englisch).
- André Rist, Markus Stahl: Qualität komplexer Systeme mit Open-Source-Tools verifizieren. (PDF) In: German Testing Magazin. SIGS DATACOM GmbH, Mai 2019, S. 20–23, abgerufen am 16. Juni 2020.