All projects

Project

Playwright TypeScript Framework: Production-Style Browser Automation

A Playwright + TypeScript automation framework built and validated against a live public application, with API-driven test data and CI quality gates.

TypeScriptPlaywrightGitHub ActionsAllureaxe-coreFaker

Key highlights

  • Built against a live public application, not mock scenarios
  • Page Object Model with API-based state seeding
  • Accessibility scanning via axe-core, left intentionally failing to surface real bugs
  • Sharded CI pipeline (lint → smoke → regression) with Allure reporting

Allure report dashboard — 19 test cases, 84% pass rate across chromium and API suites

Description#

A production-style test automation framework using Playwright and TypeScript, deliberately built against a live public application rather than sandboxed demo pages. The guiding principle behind the framework is that every decision — selectors, retries, wait strategy — is grounded in something actually inspected on a live site, not assumed.

Key Features#

  • Page Object Model: Reusable page components with parameterized locators, kept close to what’s actually in the live DOM.
  • API-Layer Integration: Test setup seeds state directly through the application’s API endpoints instead of re-driving the UI for every precondition, keeping tests fast and focused on the behavior under test.
  • Data Factories: Faker-backed data generation alongside static reference data, so tests aren’t brittle against hardcoded fixtures.
  • Accessibility Scanning: axe-core integration checks for WCAG violations — and is intentionally left failing where it finds them, rather than muted, so the framework surfaces real application bugs instead of hiding them.
  • Code Quality Tooling: Type-aware ESLint, Prettier, and Husky pre-commit hooks keep the test codebase itself held to production standards.
  • Environment Management: Config-driven baseURL resolution across QA/staging/production.

Example Scenarios#

  • Checkout Flow: Search → cart → payment, including simulated card-decline handling.
  • Admin Panel: Login-gated CRUD operations exercised end-to-end.

CI/CD Pipeline#

A progressive quality-gate pipeline runs on GitHub Actions: lint → smoke tests → sharded regression across multiple browsers, with results published as Allure reports alongside HTML/JUnit output.

Playwright HTML report — the 3 accessibility failures are real WCAG contrast violations the framework was built to catch, not flaky tests

The 3 failures shown above aren’t flakiness — they’re the accessibility suite doing its job: a genuine color-contrast violation (4.25:1 against a required 4.5:1) on a live page, caught by axe-core and left failing rather than muted.

Usage Scenarios#

  • Regression Testing: Sharded execution keeps full regression runs fast enough for every merge.
  • Accessibility Auditing: Continuous axe-core scanning catches WCAG regressions as part of normal test runs.
  • New Project Bootstrap: A reference implementation for teams standing up Playwright automation with real CI discipline from day one.

Technologies used

TypeScript
Playwright
GitHub Actions
Allure
axe-core
Faker
Search posts & projects