Kubot is a command-line interface (CLI) program designed to parallelize and distribute the execution of Robot Framework scripts over Kubernetes workloads. It enables efficient and scalable execution of robot scripts using the power of Kubernetes.
- Parallel Execution: Kubot utilizes Kubernetes workloads to parallelize the execution of Robot Framework scripts, significantly reducing the overall execution time.
- Flexible Workspace: You can specify the workspace path where your robot scripts are located, allowing you to easily manage and organize your test suites.
- Batch Execution: Define the batch size for parallel execution, controlling the number of scripts executed concurrently.
To install Kubot, you need to have Go programming language. Then, run the following command:
go get github.com/yusufcanb/kubot
kubot exec --workspace=/path/to/scripts \
--name="Daily UI Scan" \
--batchsize=15 \
--namespace=kubot \
--image=docker.io/marketsquare/robotframework-browser:latest
- --workspace (-w): Specifies the path to the workspace containing your robot scripts.
- --name (-n): Sets the top-level suite name for logs and reports generated by the execution.
- --batchsize (-b): Defines the execution batch size, controlling the number of scripts executed concurrently. The default value is 25.
- --namespace: Specifies the Kubernetes namespace where the workloads will be created.
- --image (-i): Sets the Docker image to be used for the execution of robot scripts.
- --selector (-s): Allows you to specify a script selector, such as tasks/*, to execute specific scripts or groups of scripts within your workspace.
Here is the workload configuration parameters you can use;
Name | Description | Default |
---|---|---|
KUBOT_POD_CPU_REQUEST | CPU request per Pod | 250m |
KUBOT_POD_MEMORY_REQUEST | Memory request per Pod | 128Mi |
KUBOT_POD_CPU_LIMIT | CPU limit per Pod | 250m |
KUBOT_POD_MEMORY_LIMIT | Memory limit per Pod | 256Mi |
Contributions to Kubot are welcome! If you encounter any issues or have suggestions for improvements, please submit an issue or a pull request to the GitHub repository.
Before contributing, please familiarize yourself with the general contribution guidelines.