This project is a modern End-to-End QA automation framework built using Playwright, Pytest, and Python for testing fintech-style web applications.
The framework follows the Page Object Model (POM) design pattern and focuses on:
- Scalable automation architecture
- Reusable components
- Maintainable test structure
- Real-world workflow validation
- Robust test execution practices
- Overview
- Features
- Tech Stack
- Project Structure
- Installation
- Running Tests
- Allure Reports
- Reporting & Debugging
- Learning Resources
- Future Enhancements
- Contributing
- β Playwright with Python
- β Pytest-based execution
- β Page Object Model (POM)
- β End-to-End workflow testing
- β Allure reporting
- β Cross-browser execution
- β Reusable utilities & helpers
- β Logging support
- β Screenshot capture support
- β Config-driven execution
| Tool | Purpose | Version |
|---|---|---|
| Python | Programming Language | 3.10+ |
| Playwright | Browser Automation | 1.40+ |
| Pytest | Test Framework | 7.4+ |
| Allure | Reporting | 2.29+ |
| ConfigParser | Configuration Management | Built-in |
fintech-playwright-framework-main/
β
βββ .github/
β βββ workflows/
β βββ e2e-test.yml
β
βββ config/
β βββ config.ini
β
βββ pages/
β βββ accounts_overview_page.py
β βββ accounts_page.py
β βββ bill_pay_page.py
β βββ find_transactions_page.py
β βββ forgot_login_info_page.py
β βββ home_page.py
β βββ loan_request_page.py
β βββ login_page.py
β βββ open_account_page.py
β βββ register_page.py
β βββ site_navigation_page.py
β βββ transfer_funds_page.py
β βββ update_profile_page.py
β βββ __init__.py
β
βββ reports/
β βββ allure-results/
β βββ logs/
β βββ screenshots/
β βββ report.html
β
βββ tests/
β βββ test_accounts_overview_page.py
β βββ test_accounts_page.py
β βββ test_bill_pay_page.py
β βββ test_end2end_happy_path.py
β βββ test_find_transactions_page.py
β βββ test_forgot_login_info_page.py
β βββ test_home_page.py
β βββ test_loan_request_page.py
β βββ test_login_page.py
β βββ test_open_account_page.py
β βββ test_register_page.py
β βββ test_site_navigation_page.py
β βββ test_transfer_page.py
β βββ test_update_profile_page.py
β βββ conftest.py
β
βββ utils/
β βββ config_reader.py
β βββ logger.py
β βββ screenshot_helper.py
β βββ test_data_generator.py
β βββ waits.py
| βββ session_manager.py
β βββ __init__.py
β
βββ conftest.py
βββ pytest.ini
βββ README.md
βββ requirements.txtgit clone https://github.com/SahilSR81/fintech-playwright-framework-main.git
cd fintech-playwright-framework-mainWindows:
python -m venv venv
venv\Scripts\activateLinux / macOS:
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtplaywright installpython -m pytest -vpython -m pytest tests/test_login_page.py -vpython -m pytest -v --headedpython -m pytest -v --alluredir=reports/allure-resultsallure serve reports/allure-results- Run tests and generate Allure results:
python -m pytest -v --alluredir=reports/allure-results- Start the Allure server and open the report in your browser:
allure serve reports/allure-results- For a static report, generate to
reports/allure-report:
allure generate reports/allure-results -o reports/allure-report --clean
allure open reports/allure-reportThe framework now also writes Allure environment details and report categories automatically, so the generated report includes environment info, grouped failure categories, and attached screenshots for failed tests.
The framework supports detailed reporting with:
- β Execution status
- β Logs and details
- β Screenshot capture on failures
- β Failure tracking
- β Execution timeline
- β Test statistics
Current framework utilities include:
- β Reusable waits and conditions
- β Screenshot helpers for debugging
- β Centralized configuration management
- β Comprehensive logging support
- β Test data generation utilities
- β Dynamic test data handling
- π Playwright Python Documentation
- π§ͺ Pytest Documentation
- ποΈ Page Object Model Pattern
- π GitHub Actions Workflows
- π Allure Report Documentation
- π Best Practices in Test Automation
- [β ] Better exception handling
- [β ] More robust retry mechanisms
- [β ] Advanced logging improvements
- [β ] Enhanced reporting
- [β ] GitHub Actions CI/CD pipeline optimization
- Parallel test execution
- Data-driven testing
Contributions, improvements, criticism and suggestions are welcome.
Fork the repository and create a pull request.