Data-driven Playwright test suite for the LoopQA technical evaluation, expanded into a production-style QA automation structure.
- TypeScript
- Playwright
- JSON-based scenario data
- Page Object Model
- Authenticated storage state setup
- Axe accessibility checks
- GitHub Actions CI
npm install
npx playwright install chromiumnpm testTo run only smoke coverage:
npm run test:smokeTo run only regression coverage:
npm run test:regressionTo run with a visible browser:
npm run test:headedtests/test-cases.json: source of truth for the six required scenariostests/smoke.spec.ts: data-driven happy-path coverage generated from the JSON scenariostests/regression.spec.ts: edge cases, session checks, accessibility checks, and mobile coveragetests/auth.setup.ts: authenticated state generation for browser projectstests/fixtures.ts: shared fixtures and failure diagnosticsplaywright/pages/: page object layer for login, projects, and board interactionsplaywright.config.ts: browser projects, retries, reporters, and authenticated setup dependency.github/workflows/playwright.yml: CI pipeline for smoke and regression execution
- The login page labels the username field as
Username; the suite uses the providedadminandpassword123credentials. - The smoke suite validates each required scenario and also checks that the target card does not appear in the wrong columns.
- The regression suite adds invalid login coverage, authenticated session persistence, logout behavior, mobile viewport validation, displayed-count integrity checks, and accessibility auditing.
- Chromium and Firefox are verified locally in this environment. WebKit is configured for CI because local WebKit execution is not supported on this macOS version.