This project is a high-performance Hybrid Test Automation Framework designed to test two distinct service ecosystems:
- Conduit (Blogging Platform): A social media platform. The framework uses a hybrid (UI + API) approach to ensure speed and reliability.
- Petstore (Inventory Service): A REST API service for warehouse management, focused on contract validation and negative scenarios.
- Hybrid Testing Approach: API is used for rapid data seeding and authentication via JWT token injection into
localStorage. This reduces UI test execution time by 3-4x by bypassing the login UI. - Page Object Model (POM): A clean architectural separation between page-specific logic and test scenarios.
- Advanced Data-Driven Testing: Extensive use of
pytest.mark.parametrizecombined with dynamic data generation via theFakerlibrary. - Modular API Client: A custom wrapper over
requestswith modular architecture (Users, Articles) and session management. - Security & RBAC Validation: Automated scenarios for Role-Based Access Control (e.g., verifying that users cannot edit someone else's content).
- Stability Fixes: Implementation of "hard" field clearing (Control+A/Backspace) and smart waits to handle SPA (Angular) race conditions.
- Python 3.12
- Playwright (UI Automation)
- Pytest (Test Runner)
- Requests (API Testing)
- Pydantic (Data Modeling & Validation)
- Allure (Reporting)
The framework integrates with Allure Report to provide deep visibility into test results.
The dashboard provides a high-level summary of test execution, showing a 98%+ pass rate across 600+ test runs (including stability stress-tests).

Tests are structured by Features and Stories to align technical results with business requirements. This view demonstrates the hybrid coverage and security validation scenarios.

-
Install dependencies:
pip install -r requirements.txt
-
Install Playwright browsers:
playwright install
-
Create a .env file based on .env.example
-
Run tests:
pytest
-
Generate Allure report:
allure serve allure-results