How oussama-qa/e-commerce-automation-project works
This repository is a Playwright/TypeScript QA suite that exercises automationexercise.com through browser-based end-to-end tests and independent API tests. The main UI workflow covers login and reusable authentication, then product discovery, cart changes, and checkout/order confirmation; API auth and product checks form a separate branch. Page objects provide the internal interaction layer, with a shared base page and typed fixtures documented by the README. Several test and fixture files are not sampled, so their finer call relationships are not inferred.
Main entry points: playwright.config.ts Playwright Projects · BasePage.ts Base Page · checkout.spec.ts Checkout Tests · auth.setup.ts Login Setup
Components 18
Test Orchestration
- Playwright Projects
playwright.config.ts - Typed Fixtures
fixtures/index.ts
Authentication
- Login Setup
tests/auth/auth.setup.ts - Saved Auth State
utils/paths.ts - Login Page
pages/LoginPage.ts - Login UI Tests
tests/auth/login.spec.ts
Browser Workflows
- Base Page
pages/BasePage.ts - Home Page
pages/HomePage.ts - Products Page
pages/ProductsPage.ts - Product Tests
tests/products/products.spec.ts - Cart Page
pages/CartPage.ts - Cart Tests
tests/cart/cart.spec.ts - Checkout Page
pages/CheckoutPage.ts - Checkout Tests
tests/checkout/checkout.spec.ts
API Checks
- API Auth Tests
tests/api/auth.api.spec.ts - API Product Tests
tests/api/products.api.spec.ts
Other components
- QA Engineer
- AutomationExercise
Connections 27
- QA Engineer → Playwright Projects: selects runs
README.md - Playwright Projects → Login Setup: runs setup
playwright.config.ts - Login Setup → Login Page: logs in
README.md - Login Setup → Saved Auth State: writes state
README.md - Playwright Projects → Login UI Tests: runs UI
playwright.config.ts - Playwright Projects → Product Tests: runs UI
playwright.config.ts - Playwright Projects → Cart Tests: runs UI
playwright.config.ts - Playwright Projects → Checkout Tests: runs UI
playwright.config.ts - Playwright Projects → API Auth Tests: runs API
playwright.config.ts - Playwright Projects → API Product Tests: runs API
playwright.config.ts - Login UI Tests → AutomationExercise: tests login
README.md - Product Tests → AutomationExercise: tests products
README.md - Cart Tests → AutomationExercise: tests cart
README.md - Checkout Tests → AutomationExercise: tests checkout
README.md - API Auth Tests → AutomationExercise: tests API auth
README.md - API Product Tests → AutomationExercise: tests API products
README.md - Login UI Tests → Saved Auth State: reuses state
README.md - Checkout Tests → Saved Auth State: uses state
README.md - Typed Fixtures → Base Page: provides page objects
README.md - Home Page → Base Page: extends
pages/HomePage.ts - Login Page → Base Page: extends
pages/LoginPage.ts - Products Page → Base Page: extends
pages/ProductsPage.ts - Cart Page → Base Page: extends
pages/CartPage.ts - Checkout Page → Base Page: extends
pages/CheckoutPage.ts - Product Tests → Products Page: uses page object
- Cart Tests → Cart Page: uses page object
- Checkout Tests → Checkout Page: uses page object