Skip to content

Latest commit

 

History

History
86 lines (59 loc) · 2.72 KB

File metadata and controls

86 lines (59 loc) · 2.72 KB

Playwright E2E Automation Portfolio Project

Playwright E2E Tests

Professional E2E test suite automating the Seznam.cz email workflow using Playwright and Python.

🎯 What is Tested (Test Description)

This test suite covers the critical business path (Happy Path) of sending an email via the Seznam.cz web client:

  1. Successfully log into a Seznam.cz email account (handling dynamic cookie/ad banners).
  2. Navigate directly to the mailbox and initialize a new email to a predefined contact.
  3. Dynamically generate and attach a local text document (test_attachment.txt).
  4. Send the email and explicitly wait for the UI notification verifying successful delivery.
  5. Safely log out of the account via the profile menu.

📊 Test Coverage Info

As an E2E UI automation suite, coverage is focused on Functional Business Flows:

  • UI Coverage: Login Page, Mailbox Dashboard, Email Composer Modal, File Upload Dialog, Success Notification, Logout Flow.
  • Browser Coverage: Configured for Chromium (Headless mode in CI/CD pipeline, headed mode for local development).
  • Resilience Coverage: Handles strict-mode violations, dynamic element locators, and conditional UI states (e.g., cookie banners).

🚀 Features

  • BDD Framework: Human-readable tests using Gherkin (pytest-bdd).
  • Page Object Model (POM): Clean separation of test logic and UI locators.
  • CI/CD Integrated: Automated test execution on every push via GitHub Actions.
  • Security: Credential management using environment variables.

📁 Project Structure

├── .github/workflows/      # CI/CD pipeline definition
├── pages/                  # Page Object Model classes
├── tests/
│   ├── step_definitions/   # Python code executing the BDD steps
│   ├── email_workflow.feature # Gherkin scenario
│   └── conftest.py         # Playwright fixtures and setup
├── requirements.txt        # Python dependencies
└── README.md

🔧 Setup & Execution

Prerequisites

  • Python 3.10+
  • Node.js (for Playwright binaries)

Installation

  1. Clone the repository:
git clone https://github.com/MilJav11/qa-automation-annea.git
cd qa-automation-annea
  1. Create a .env file in the root directory and add your credentials:
TEST_EMAIL=your_test_email@seznam.cz
TEST_PASSWORD=your_password
  1. Install dependencies:
pip install -r requirements.txt
  1. Install Playwright browsers:
playwright install chromium

Running Tests

Execute the test suite using pytest:

pytest