Skip to content
Generic automation framework for acceptance testing and RPA
Python RobotFramework JavaScript HTML Java CSS
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Upgrade setup-python and upload-artifact actions version to recent on… May 12, 2020
atest Fix --ExitOnFailure when test is made non-critical dynamically. Jun 1, 2020
doc Architecture diagram tuning May 28, 2020
src Fix getting kw source when inspect.getsourcefile returns None. Jun 1, 2020
utest Support closed files with isatty() util. #3565 Apr 29, 2020
.gitignore Add .jython_cache introduced by Jython 2.7.2 to .gitignore. Mar 12, 2020
AUTHORS.rst Better formatting Dec 10, 2019
BUILD.rst BUILD.rst: Fixes found while creting 3.2rc1 Apr 3, 2020
CONTRIBUTING.rst Remove outdated section about finalizing PRs Dec 10, 2019
COPYRIGHT.txt Added Robot Framework Foundation to the main copyright file #2309 Jun 2, 2016
INSTALL.rst Update IronPython intallation instructions. Oct 16, 2018
LICENSE.txt initial import, first step May 30, 2008
MANIFEST.in Remove outdated stuff from MANIFEST. Apr 2, 2020
README.rst typo fix Oct 2, 2019
codecov.yml Ignore utest and atest directories on codecov.io (#3480) Feb 26, 2020
pom.xml Back to dev version May 4, 2020
requirements-build.txt Better comment about usage Apr 1, 2020
rundevel.py CONTRIBUTING: Explain how to execute code after changes Jan 23, 2017
setup.py Back to dev version May 4, 2020
tasks.py Enhance atest/README.rst, especially related to jar distro. Apr 1, 2020

README.rst

Robot Framework

Introduction

Robot Framework is a generic open source automation framework for acceptance testing, acceptance test driven development (ATDD), and robotic process automation (RPA). It has 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. For more information about Robot Framework and the ecosystem, see http://robotframework.org.

Robot Framework project is hosted on GitHub where you can find source code, an issue tracker, and some further documentation. See CONTRIBUTING.rst if you are interested to contribute. Downloads are hosted on PyPI, except for the standalone JAR distribution that is on Maven central.

Robot Framework development is sponsored by Robot Framework Foundation.

Latest version License

Installation

If you already have Python with pip installed, you can simply run:

pip install robotframework

Alternatively you can get Robot Framework source code by downloading the source distribution from PyPI and extracting it, or by cloning the project repository from GitHub. After that you can install the framework with:

python setup.py install

For more detailed installation instructions, including installing Python, Jython, IronPython and PyPy or installing from git, see INSTALL.rst.

Example

Below is a simple example test case for testing login to some system. You can find more examples with links to related demo projects from http://robotframework.org.

*** Settings ***
Documentation     A test suite with a single test for valid login.
...
...               This test has a workflow that is created using keywords in
...               the imported resource file.
Resource          resource.robot

*** Test Cases ***
Valid Login
    Open Browser To Login Page
    Input Username    demo
    Input Password    mode
    Submit Credentials
    Welcome Page Should Be Open
    [Teardown]    Close Browser

Usage

Tests (or tasks) are executed from the command line using the robot command or by executing the robot module directly like python -m robot or jython -m robot.

The basic usage is giving a path to a test (or task) file or directory as an argument with possible command line options before the path:

robot tests.robot
robot --variable BROWSER:Firefox --outputdir results path/to/tests/

Additionally there is the rebot tool for combining results and otherwise post-processing outputs:

rebot --name Example output1.xml output2.xml

Run robot --help and rebot --help for more information about the command line usage. For a complete reference manual see Robot Framework User Guide.

Documentation

Support and contact

Contributing

Interested to contribute to Robot Framework? Great! In that case it is a good start by looking at the Contribution guidelines. If you do not already have an issue you would like to work on, you can check issues with good new issue and help wanted labels.

Remember also that there are many other tools and libraries in the wider Robot Framework ecosystem that you can contribute to!

License

Robot Framework is open source software provided under the Apache License 2.0. Robot Framework documentation and other similar content use the Creative Commons Attribution 3.0 Unported license. Most libraries and tools in the ecosystem are also open source, but they may use different licenses.

You can’t perform that action at this time.