Skip to main content

Execute robotframework test files/tests in paralel, even without special preparation of them

Project description

Parabot

Utility for tests written using RobotFramework - run test .robot files in parallel even if they are not specifically written for this.

This utility does not aim to replace pabot. It is basically a test executor - just a quick project to be able to execute in parallel previously written RF test run in serial fashion. As such, it only offers three basic options.

For much sophisticated solution, use Pabot.

Table of Contents

About

If you want to simply execute your robotframework test files in parallel fashion, you can use this tool. It leverages multiprocessing package of python, so there is no worry about specifically preparing your tests.

This tool currently supports:

  • run all .robot files in parallel: python[3] -m parabot -a

    • this options is suitable in case, that your test project is structured in such a way, that each test suite .robot file contains everything. If not, do not use this and use argument -f or --folders, see below.
  • run all .robot files in specific folders: python[3] -m parabot -f <relative_path_to_folder_1> ... <relative_path_to_folder_n>.

    • you can specify multiple relative paths after the argument. This feature uses "extend" option introduced in Python's 3.8 argparse module. In lower versions this will not work and probably throws an error.
  • run tagged tests/suites: python[3] -m parabot -t <tag_1> ... <tag_n>

    • use this option, if you want to run tagged test/suites in parallel. Since actual execution of tests is done by RobotFramework, parallelization in this case means one tag == one process. In each process are then sequentially run all tests/suites tagged by the same tag.
  • change default timeout when using parameters -a or -f: python[3] -m parabot -to [int]

    • when suites are executed using parameters -a or -f, scripts are using Python multiprocessing method Pool.map_async with default 60 second timeout. If your tests are running longer then that, this will throw an TimeoutException. In this case, use this parameter to increase the timeout value.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

What things you need to install the software and how to install them.

  • Python 3.8+
  • RobotFramework library
  • RobotFramework selenium library

Just run [sudo] python[3] setup.py install and it will take care of it for you.

Installing

You can either clone this package from the repository, or install it via pip.

In case of cloning, use these steps to install:

  1. Run [sudo] python[3] parabot/setup.py install

  2. You can try the project on the examples tests in the folder examples.

  3. To try it on your project:

    3.1 Create a new branch for this, if things get messed up!!!

    3.2 Copy parabot folder into the root of your project

    3.3. Run [sudo] python[3] parabot/setup.py install

    3.4. Run some of currently supported commands

    3.5. See what happens :).

In case of using pip:

  1. Run command sudo pip3 install parabot

  2. Then try available commands as described above.

Test reports

For options -a and -f are timestamped report folders created in the same folder, where .robot file (test suite) is located.

For option -t the timestamped report folders for each tag are created in the reports folder located in the root.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parabot-1.0.2.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

parabot-1.0.2-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file parabot-1.0.2.tar.gz.

File metadata

  • Download URL: parabot-1.0.2.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for parabot-1.0.2.tar.gz
Algorithm Hash digest
SHA256 e918926c839d6593253786b5781bb394126710e6724c68a0dc234a76a6a8bd85
MD5 789d5f3ccd7406603c3c4965ce9218e9
BLAKE2b-256 0ab9bd515a9e10e78b26a9d6fb8d73e0447d1d703c6d9f4d77acc1b8382bcd93

See more details on using hashes here.

File details

Details for the file parabot-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: parabot-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for parabot-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0a9c78e815852b712104e9ef1d2b27fc9c57b3746f3f31ab5fe48b44255c6a93
MD5 6a159db3cd9e334f3065e2cc505ed678
BLAKE2b-256 8dd5e625a605a2bd5ea1cfc890d2ef75d0b9b3c02c329602567dd673fb3f9e09

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page