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 |
| Detox | Gray-box end-to-end testing framework for mobile apps |
| Allure Report | Multi-language test report tool |
| Karate | Unified test automation framework |
| Dojo Toolkit | JavaScript toolkit that scales with your development process |
| TestCafe | Node.js framework for automated end-to-end web testing |
| Playwright | Framework for web testing and automation |
| Maestro | End-to-end testing framework for mobile and web apps |
| CodeceptJS | Scenario-driven end-to-end testing framework for Node.js |
| Schemathesis | Property-based testing for OpenAPI and GraphQL APIs |
| 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 |
| SeleniumBase | Python framework for browser automation and web testing |
| Watir | Web application testing in Ruby |
| Serenity | Test automation reporting library (previously known as Thucydides) |
| Selenide | Concise Java framework for writing Selenium-based tests |
| 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 |
| Browser Use | Enables AI agents to interact with websites |
| Skyvern | AI-powered browser automation platform |
| 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 |
| OculiX | Visual automation platform |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.