This project follows the Capability-Based Architecture (not POM).
src/core: Infrastructure (browser, context)src/selectors: UI contracts (no page objects)src/actions: Capabilities (verbs, no assertions)src/flows: Business journeys (orchestration)src/scenarios: Data for testssrc/tests: Correctness and validationsrc/reporter: Reporting logic
- No page-named files.
- Selectors only in
selectors/. - Actions are verbs and contain no assertions.
- Flows orchestrate actions; no correctness logic.
- Tests own pass/fail and expected behavior.
- Every action must set
ctx.stepandctx.selectorbefore interaction. - Every failure must produce artifacts (screenshot + JSON record).
Ensure you have the dependencies installed and run:
npx tsx src/tests/login.test.ts