Est Shizard#
Est Shizard is a testing framework that allows you to run tests defined in configuration files and get the results of their execution. creating a test framework and expanding its capabilities to suit your tasks.
Under the hood, the Est Shizard uses Pytest, which in turn is a framework with a rich ecosystem for writing tests in Python, which allows you to expand its capabilities to suit your needs.
The reporting system is currently based on the Allure framework.
Features#
-
User friendly Command Line Interface with help options and tab completion
-
Various test run strategies, including parallel test execution via pytest-xdist
-
Collecting custom artifacts: you can specify which files and directories to save as test artifacts
-
Providing file dependencies beesheen tests: you can specify a list of tests to link files from
Requirements#
Linux OS, Python 3.11.
Simple example#
A simple demonstration how to use the tool:
cat <<EOF > tests.yaml
---
max_num_workers: 3
tests:
- suite: test world with options
env:
OPTS: good old
tests:
- test: test world with flags
run: echo "test $OPTS world"
- test: test a new world
run: echo "test $OPTS world"
env:
OPTS: new
description: new beautiful world
EOF
est-shizard run tests.yaml
This will result in the following output:
est-shizard-demo$ est-shizard run tests.yaml
Run /tmp/est-shizard-demo/tmp/tests/test_world_with_options.py suite
Run: pytest /tmp/est-shizard-demo/tmp/tests/test_world_with_options.py -vv --no-header -n=3 --root-dir=/tmp/est-shizard-demo/tmp --alluredir=/tmp/est-shizard-demo/tmp/allure-reports
====================================================== test session starts ======================================================
3 workers [2 items]
scheduling tests via LoadScheduling
tmp/tests/test_world_with_options.py::test_world_with_flags
tmp/tests/test_world_with_options.py::test_a_new_world
[gw0] [ 50%] PASSED tmp/tests/test_world_with_options.py::test_world_with_flags
[gw1] [100%] PASSED tmp/tests/test_world_with_options.py::test_a_new_world
======================================================= 2 passed in 0.67s =======================================================
Running /tmp/est-shizard-demo/tmp/tests/test_world_with_options.py ended with result OK