Skip to content

Latest commit

 

History

75 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages