Skip to content

Enterprise-Grade Playwright Python Architecture 🎭 | Production-Ready Boilerplate with Pytest, Allure.

License

Notifications You must be signed in to change notification settings

nirtal85/Playwright-Python-Example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Playwright Logo

Enterprise-Grade Playwright Python Architecture

The Ultimate Boilerplate for Scalable, Robust, and Modern UI Automation

Twitter Follow YouTube CI Status Nightly Build uv Ruff

View Live Report β€’ Read The Docs β€’ Report Bug


πŸš€ About The Project

This repository is a Production-Ready Reference Architecture for building next-generation test automation using Playwright and Python.

It goes beyond basic scripts to demonstrate a fully scalable framework with advanced features like Accessibility Testing (A11y), visual tracing, and cloud integration, tailored for modern DevOps pipelines.

Automation College - Playwright Python Course

✨ Key Features

  • Modern Tooling: Powered by uv for blazing fast package management and Ruff for linting.
  • Accessibility First: Integrated Axe scans to ensure your app is accessible to everyone.
  • Deep Debugging: Full integration with Playwright Traces and Video recording linked directly to Allure Reports.
  • Cloud Scale: Native integration with BrowserStack for cross-browser testing on real devices.
  • CI/CD Optimization: Parallel execution strategies and dynamic version syncing for GitHub Actions.

πŸ“ƒ Articles written about this project

This project implements the concepts discussed in the following TestShift articles:


πŸ› οΈ Tech Stack

Tool Description & Why We Use It
Playwright The modern standard for reliable, flaky-free browser automation.
Pytest The most powerful testing framework for Python.
Axe Playwright For automated accessibility (A11y) compliance testing.
Allure For beautiful, data-rich test reports including Traces & Video.
Pytest Split To intelligently split test suites for parallel execution.
Requests For API interactions and test data setup.

🌐 Cloud Testing Provider

This project is powered by BrowserStack, enabling high-scale cross-browser and mobile testing on real devices in the cloud.


βš™οΈ Getting Started

1. Clone

git clone https://github.com/nirtal85/Playwright-Python-Example
cd playwright-python

2. Install (The Modern Way)

We use uv for lightning-fast installations.

Windows (PowerShell):

python -m pip install uv
python -m uv venv
.venv\Scripts\Activate.ps1
uv sync --all-extras --dev
playwright install

Mac/Linux:

python3 -m pip install uv
uv venv
source .venv/bin/activate
uv sync --all-extras --dev
playwright install

πŸƒβ€β™‚οΈ Execution

Run all tests (Chromium by default):

pytest

Run specific suite (Tags):

pytest -m sanity

πŸ“Š Results, Traces & Debugging

We use Allure for reporting and Playwright Traces for debugging.

Viewing Reports Locally Windows (via Scoop):

scoop install allure
allure serve allure-results

Mac (via Brew):

brew install allure
allure serve allure-results

πŸ‘‰ See a Live Example of the Report Here

πŸ•΅οΈβ€β™€οΈ Using the Trace Viewer

Navigate to the Playwright Trace Viewer.

Drag & Drop the trace file (located in test-results/) generated after a failure.

Time Travel: Move back and forth in the timeline to see exactly what happened (Network, DOM, Console).

Found this project useful? If this architecture helped you solve a problem or save time, consider supporting the work!

Buy Me A Coffee


Visit TestShift.com for more Architectural Insights

About

Enterprise-Grade Playwright Python Architecture 🎭 | Production-Ready Boilerplate with Pytest, Allure.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages