A production-style hybrid test automation framework built using Python, Selenium, PyTest, API testing, database validation, and CI/CD pipelines.
This framework demonstrates how modern QA systems validate applications across multiple layers:
- UI (Frontend)
- API (Backend services)
- Database (Data integrity)
- Selenium WebDriver
- Page Object Model (POM)
- Multi-browser support
- Screenshot capture on failure
- Python-based API client
- Postman collection support
- Newman CLI execution
- API validation with structured logging
- SQLite DB integration
- API vs DB validation tests
- Data integrity checks
- PyTest test runner
- Parametrized (data-driven) tests
- Retry mechanism for flaky tests
- Parallel execution (pytest-xdist)
- Allure Reports (rich UI)
- HTML reports
- Postman HTML reports
- YAML-based config system
- Environment support (
dev,staging, etc.) - CLI overrides (browser, env)
- Centralized logging system
- Logs for UI, API, DB layers
- GitHub Actions integration
- Automated test execution
- Allure report deployment (GitHub Pages)
- Postman test execution via Newman
- Built with FastAPI
- Ensures deterministic and reliable API tests
fullstack-qa-automation-framework
โ
โโโ tests/
โ โโโ ui/
โ โโโ api/
โ โโโ db/
โ
โโโ pages/
โ
โโโ framework/
โ โโโ core/
โ โโโ api/
โ โโโ db/
โ โโโ utils/
โ
โโโ mock_server/
โ
โโโ postman/
โ
โโโ config/
โ
โโโ reports/
โโโ screenshots/
โโโ logs/
โ
โโโ conftest.py
โโโ pytest.ini
โโโ requirements.txt
โโโ README.mdHandles frontend automation using Selenium and Page Object Model.
Handles backend validation using:
- Python API client
- Postman + Newman
Validates backend data using SQL queries.
Combines:
- API responses
- Database data to validate consistency across systems.
pip install -r requirements.txtpytest tests --env=devpytest tests -n 4pytest tests/ui
pytest tests/api
pytest tests/dbpytest --alluredir=allure-results
allure serve allure-results๐ CI Report (GitHub Pages): https://cyphermorgan.github.io/fullstack-qa-automation-framework/
newman run postman/Hybrid_QA_API.postman_collection.jsonHTML report:
reports/postman_report.htmlRun locally:
uvicorn mock_server.app:app --reloadBase URL:
http://127.0.0.1:8000GitHub Actions automatically:
- Runs UI + API + DB tests
- Executes Postman collection
- Generates Allure report
- Deploys report to GitHub Pages
Start CI pipeline
โ
Start Mock API
โ
Run PyTest (UI + API + DB)
โ
Run Postman (Newman)
โ
Validate API โ DB consistency
โ
Generate Allure report
โ
Deploy report to GitHub Pages
- Real-world QA automation architecture
- Multi-layer validation strategy
- CI/CD integration
- Clean, scalable framework design
- Strong debugging & reporting practices
- Docker containerization
- Cross-browser grid execution (Selenium Grid)
- Allure + Newman report integration
- Performance testing integration
- Cloud execution (BrowserStack / Sauce Labs)
Built as a hands-on project to simulate a real-world QA automation framework used in modern engineering teams.
Give it a โญ and feel free to fork & extend it!