Recruitment task implemented using TypeScript + Playwright Test against the public demo store https://automationteststore.com.
- Task statement: docs/task.md
- Engineering notes (decisions/assumptions/limitations): docs/NOTES.md
- Node.js 18+ (recommended)
- npm (comes with Node)
- Install dependencies:
npm install
- Install Playwright browsers:
npx playwright install
- Run the full suite (headless):
npx playwright test
Useful variants:
- Headed mode:
npx playwright test --headed - UI mode:
npx playwright test --ui
Stability / stress:
- Repeat each test 3 times:
npx playwright test --repeat-each 3 --reporter=line
npx playwright show-report
tests/e2e/**— end-to-end scenarios grouped by domain (cart/login/product/registration)src/pages/**— business flows and page-level assertions (uses components + routes)src/components/**— selectors/locators only (no business logic)src/config/env.ts— base URL + shared timeout defaultssrc/config/routes.ts— centralized route paths + URL matcherssrc/utils/**— shared helpers (e.g., unique test data generation)
Route paths are centralized in src/config/routes.ts.
This project is configured with TypeScript path aliases (see tsconfig.json) so you can write cleaner imports:
@pages/*→src/pages/*@components/*→src/components/*@config/*→src/config/*@utils/*→src/utils/*