Skip to content

Automated UI testing framework using Python, Playwright, Pytest, Allure, and GitHub Actions. Designed with the Page Object Model for maintainability and scalability.

Notifications You must be signed in to change notification settings

QATasksAI/aqa_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AQA Python - Test Automation Learning Project

GitHub Actions Python Version Code style: black

A Python test automation project built with Playwright for learning web testing fundamentals.

🛠 Technologies Used

  • Python 3.9+ - Programming language
  • Playwright - Web automation framework
  • Pytest - Testing framework
  • Poetry - Dependency management
  • Allure - Test reporting

🚀 Setup

  1. Clone the project:

    git clone https://github.com/vitaliiyz/aqa_python.git
    cd aqa_python
  2. Install Poetry and dependencies:

    # Install Poetry if needed
    pip install poetry
    
    # Install project dependencies
    poetry install
    
    # Install browsers
    poetry run playwright install

🧪 Running Tests

Basic test execution:

# Run all tests
poetry run pytest

# Run specific test file
poetry run pytest tests/main_page_test.py

# Run with browser UI visible
poetry run pytest --headed

# Generate test report
poetry run pytest --alluredir=allure-results
poetry run allure serve allure-results

📁 Project Structure

├── pages/              # Page Object Model classes
│   ├── base_page.py   # Common page functionality
│   ├── main_page.py   # Main page elements and actions
│   └── ...
├── tests/             # Test cases
│   ├── conftest.py    # Test fixtures
│   └── *_test.py      # Individual test files
├── utils/             # Helper functions
├── config.py          # Configuration settings
└── pyproject.toml     # Dependencies and settings

🎯 Learning Goals

This project demonstrates:

  • Page Object Model pattern
  • Pytest fixtures and parameterization
  • Web element interaction with Playwright
  • Test reporting with Allure
  • Basic CI/CD concepts

This is a learning project for educational purposes.

About

Automated UI testing framework using Python, Playwright, Pytest, Allure, and GitHub Actions. Designed with the Page Object Model for maintainability and scalability.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages