Robot Framework is a Python-based, extensible keyword-driven automation framework for acceptance testing, acceptance test driven development (ATDD), behavior driven development (BDD) and robotic process automation (RPA). It can be used in distributed, heterogeneous environments, where automation requires using different technologies and interfaces. It has a simple plain text syntax and it can be extended easily with libraries implemented using Python or Java.
Robot Framework is operating system and application independent. The core framework is implemented using Python, supports both Python 2 and Python 3, and runs also on Jython (JVM), IronPython (.NET) and PyPy.
The framework has a rich ecosystem around it consisting of various generic libraries and tools that are developed as separate projects.
The framework was initially developed at Nokia Networks and was open sourced in 2008.
Key Features
- Enables easy-to-use tabular syntax for creating test cases in a uniform way.
- Provides ability to create reusable higher-level keywords from the existing keywords.
- Provides easy-to-read result reports and logs in HTML format.
- Is platform and application independent.
- Provides a simple library API for creating customized test libraries which can be implemented natively with either Python or Java.
- Provides a command line interface and XML based output files for integration into existing build infrastructure (continuous integration systems).
- Provides support for Selenium for web testing, Java GUI testing, running processes, Telnet, SSH, and so on.
- Supports creating data-driven test cases.
- Has built-in support for variables, practical particularly for testing in different environments.
- Provides tagging to categorize and select test cases to be executed.
- Enables easy integration with source control: test suites are just files and directories that can be versioned with the production code.
- Provides test-case and test-suite -level setup and teardown.
- The modular architecture supports creating tests even for applications with several diverse interfaces.
- Standard libraries:
- Builtin – provides a set of generic keywords needed often. It is imported automatically.
- Collections – provides a set of keywords for handling Python lists and dictionaries. This library has keywords, for example, for modifying and getting values from lists and dictionaries.
- DateTime – supports creating and converting date and time values (e.g. Get Current Date, Convert Time), as well as doing simple calculations with them (e.g. Subtract Time From Date, Add Time To Time). It supports dates and times in various formats, and can also be used by other libraries programmatically.
- Dialogs – provides means for pausing the test execution and getting input from users. The dialogs are slightly different depending on whether tests are run on Python, IronPython or Jython but they provide the same functionality.
- OperatingSystem – enables various operating system related tasks to be performed in the system where Robot Framework is running.
- Process – runs processes in system and waits for their completion using Run Process keyboard, starts process in the background using Start Process. It’s also used for waiting started process to complete using Wait For Process or stopping them with Terminate Process or Terminate All Processes.
- Remote – part of the remote library interface.
- Screenshot – test library for taking screenshots on the machine where tests are run.
- String – manipulating strings (e.g. Replace String Using Regexp, Split To Lines) and verifying their contents (e.g. Should Be String).
- Telnet – connect to Telnet servers and execute commands on the opened connections.
- XML – a test library for verifying contents of XML files. In practice it is a pretty thin wrapper on top of Python’s ElementTree XML API.
- Built-in tools:
- Rebot
- Libdoc
- Testdoc
- Tidy
Website: robotframework.org
Support: User Guide, GitHub Code Repository
Developer: Pekka Klärck, Janne Härkönen and many others
License: Apache License Version 2.0
Robot Framework is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Test Automation Tools | |
|---|---|
| Appium | Open source automation tool |
| Cypress | Fast, easy and reliable testing |
| Robot Framework | Python-based, extensible keyword-driven automation framework |
| Cucumber | Tool for running automated tests written in plain language |
| Selenium | Portable framework for testing web applications |
| Gauge | Lightweight cross-platform test automation tool which uses Markdown |
| Nightwatch | Integrated testing framework powered by Node.js |
| WebdriverIO | Browser and mobile automation framework for Node.js |
| Allure Report | Multi-language test report tool |
| Karate | Unified test automation framework |
| Dojo Toolkit | JavaScript toolkit that scales with your development process |
| Playwright | Framework for web testing and automation |
| CodeceptJS | Scenario-driven end-to-end testing framework for Node.js |
| tox | Automate and standardize testing in Python |
| nox | Automates testing in multiple Python environments, similar to tox |
| Carina | Java-based test automation framework that unites all testing layers |
| Testsigma | Extensible test automation platform that works out of the box |
| Watir | Web application testing in Ruby |
| Serenity | Test automation reporting library (previously known as Thucydides) |
| Cerberus Testing | Low-code test automation platform |
| Galen | Tool for testing layout and responsive design of web applications |
Read our verdict in the software roundup.
| Robotic Process Automation Tools | |
|---|---|
| Robot Framework | Python-based, extensible keyword-driven automation framework |
| OpenRPA | Integrated Development Environment for creating workflows |
| Robocorp | Stack for powering Automation Ops |
| RPA for Python | Python package for doing Robotic Process Automation |
| TagUI | Automate digital process in your workflows |
| SikuliX | Automates tasks with image recognition and basic text recognition |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

