QA Automation Starter for Python
Modular Python packages for maintainable, BDD-style automated tests with pytest
, Hamcrest
, Allure
reporting, and configurable logging.
Technology-agnostic; example REST, Selenium and RabbitMQ implementations included.
Example Allure Report
see live Example Allure Report
Example Code
def should_publish_and_consume(self) -> None:
(self.steps
.given.a_queue_handler(self._queue_handler)
.when.publishing([Message("test_queue")])
.and_.consuming()
.then.the_received_messages(yields_item(
tracing(is_(Message("test_queue"))))))
Requirements
- Python 3.13
- PDM (Python package manager)
Optional
- Google Chrome for local Selenium testing
- RabbitMQ for running local tests
- Allure for generating a nice test dashboard like above