Skip to content

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

Allure BDD Example

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