End-to-end Playwright + TypeScript tests for Smashburger's web ordering flow at dev.smashburger.com. The framework uses a clean Page Object Model (POM) design, data-driven scenarios, fast and semantic locators, and includes pragmatic helpers for test stability, performance, and maintainability. 📖 View Full Testing Strategy & Documentation
- Clone and install
git clone https://github.com/Anasss/smash-qa-framework
cd smash-qa-framework
npm install- Run tests (headless by default)
npx playwright test- View report (after a run)
npx playwright show-report- pages/ — Page Objects (catalog, store-locator, product, cart, checkout, order-confirmation)
- tests/ — Specs (single E2E, dataset-driven, image mock)
- fixtures/ — Pages and flows fixtures (bootstrap pickup, go to Create Your Own)
- utils/ — Test data loader, logger, micro-flows, helpers
- test-data/ — JSON datasets for customers, payments, locations, burger scenarios
- Select order type + location (Pickup by zipcode)
- Navigate menu (SMASHBURGERS → CREATE YOUR OWN)
- Configure burger, add to cart
- Verify cart → checkout → payment → place order
- Verify confirmation (Thank You, order number, options)
- Run a single spec
npx playwright test tests/pickup-create-your-own-order.spec.ts- Headed mode (debug visually)
npx playwright test --headed- Filter by title
npx playwright test -g "Create Your Own"- Live Report: 🌐 anasss.github.io/smash-qa-framework (auto-updated)
- Locat report:
npx playwright show-report - Test results (screenshots, traces when enabled):
./test-results/