About this project
This repository provides a demo browser automation testing framework built with Playwright and TypeScript. It targets a live WooCommerce e-commerce demo site and demonstrates end-to-end, UI, and WordPress REST API testing patterns.
The project uses a Page Object Model structure with page classes for Home, Login, Register, Product, Checkout, and Profile pages. Tests cover user registration and login, product search, placing orders, mobile viewport checks, and API interactions. Authentication state is saved once through a global setup and reused across tests.
Configuration is handled in playwright.config.ts. The default setup runs Chromium sequentially with a 30-second test timeout, retains video on failure, and captures traces on the first retry. GitHub Actions integration is included for CI runs with HTML reporting. ESLint is configured for code quality.
Notable features include FakerJS-based test data generation, environment variable configuration for credentials, data-driven tests, and accessibility checks with Axe-core. Visual comparison tests are implemented but disabled because the reference snapshot is Windows-only and fails on Linux CI runners.
The README notes that tests run against the live demo shop rather than a local fixture site. A full run places real Stripe test-mode orders, registers users, and modifies the shared cart. Concurrent local and CI runs can trigger the site's WAF and produce 403 errors that resemble test failures. Checkout uses Euro currency and requires billing details before the Stripe card input.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.