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:
-
Run [sudo] python[3] parabot/setup.py install
-
You can try the project on the examples tests in the folder examples.
-
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:
-
Run command sudo pip3 install parabot
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e918926c839d6593253786b5781bb394126710e6724c68a0dc234a76a6a8bd85 |
|
MD5 | 789d5f3ccd7406603c3c4965ce9218e9 |
|
BLAKE2b-256 | 0ab9bd515a9e10e78b26a9d6fb8d73e0447d1d703c6d9f4d77acc1b8382bcd93 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a9c78e815852b712104e9ef1d2b27fc9c57b3746f3f31ab5fe48b44255c6a93 |
|
MD5 | 6a159db3cd9e334f3065e2cc505ed678 |
|
BLAKE2b-256 | 8dd5e625a605a2bd5ea1cfc890d2ef75d0b9b3c02c329602567dd673fb3f9e09 |