Robot Framework

Robot Framework

Robot-framework-logo.png
Basisdaten

MaintainerPekka Klärck, Janne Harkonen et al.
Erscheinungsjahr24. Juni 2008[1]
Aktuelle Version4.0.3[2]
(25. Mai 2021)
BetriebssystemPlattformübergreifend
ProgrammiersprachePython
KategorieTest-Framework
LizenzApache-Lizenz 2.0
robotframework.org

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.

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 Button    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

  1. code.google.com. (abgerufen am 3. Dezember 2013).
  2. Release 4.0.3. 25. Mai 2021 (abgerufen am 21. Juni 2021).
  3. Robot Framework Homepage (englisch)
  4. RIDE Homepage (englisch)
  5. Robot Editor. In: Github. Nokia, abgerufen am 16. Juni 2020 (englisch).
  6. Laukkanen, Pekka: „Data-Driven and Keyword-Driven Test Automation Frameworks“, 2006
  7. Robocon. Robot Framework Foundation, abgerufen am 16. Juni 2020 (englisch).
  8. a b Robot Selenium Library (englisch)
  9. RemoteInterface. In: Github. Abgerufen am 16. Juni 2020 (englisch).
  10. Robot Framework Community's shared code repositories. In: Github. Abgerufen am 16. Juni 2020 (englisch).
  11. Pekka Klärck: Robot Framework 3.1 - Release Notes. Abgerufen am 16. Juni 2020 (englisch).
  12. 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.

Auf dieser Seite verwendete Medien

Robot-framework-logo.png
Autor/Urheber: Anssi Arte, Lizenz: CC BY-SA 4.0
Robot Framework Logo