Playwright + TypeScript automation framework for UI and API testing with page objects, shared fixtures, reusable services, and AI-assistant guidance through AGENTS.md and local skills
This repository is the automation framework only.
It provides:
- UI automation using Page Object Model
- API automation using service classes
- shared multi-role fixtures for browser and API sessions
- linting, formatting, typechecking, reporting, and naming checks
- local
AGENTS.mdand.agents/skills/guidance for framework-aligned changes
Before running tests, make sure the target application is already running and reachable through the URLs configured in config/test-config.json.
playwright-pom-agent-skills/
.agents/
skills/
api/
services/
specs/
config/
test-config.json
scripts/
ui/
pages/
setup/
specs/
test-data/
utils/
common/
fixtures/
playwright.config.ts
package.json
README.md
AGENTS.md
cd playwright-pom-agent-skills
npm install
npm run install:browsersnpm run test:list
npm test
npm run test:ui
npm run test:api
npm run test:debug
npm run report
npm run lint
npm run lint:fix
npm run typecheck
npm run check:naming
npm run format
npm run format:checkWhen you change test code:
npm testWhen you change URLs or credentials in config/test-config.json, re-run the most relevant validation commands.
Typical validation after config changes:
npm run test:list
npm test- Playwright project dependencies for reusable authenticated setup
- role-based shared fixtures in
utils/fixtures/TestFixtures.ts - route constants centralized in page and service base classes
- TypeScript path aliases for framework-local imports
- custom framework logger and custom reporter summary
- cleanup registration through the shared
cleanupfixture
- ESLint uses
eslint.config.mjs - Prettier uses
.prettierrc.jsonand.prettierignore npm run check:namingenforces framework naming conventionsutils/common/Logger.tsprovides the framework loggerutils/common/CustomReporter.tswritestest-results/framework-summary.json
ui/specs/login.spec.tsui/specs/multi-role.spec.tsui/specs/files.spec.tsapi/specs/health.spec.tsapi/specs/rbac.spec.ts
For detailed framework rules, naming conventions, ownership boundaries, config guidance, and validation defaults, see:
AGENTS.md.agents/skills/
This repository natively supports Hermes Agent since it utilizes the vendor-neutral agentskills.io standard. No code changes are required to integrate Hermes.
- Install Hermes:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash - Navigate: Open your terminal to the root of this repository (
cd playwright-pom-agent-skills). - Start: Run
hermes. The agent will automatically detect and loadAGENTS.mdinto its context. - Register Skills (Optional): To give the agent access to the specialized local
.agents/skills/folder, register it as an external skills directory:Hermes will then dynamically load thehermes config set skills.external_dirs "['/path/to/playwright-pom-agent-skills/.agents/skills']"
pw-api-pom,pw-framework-tooling, andpw-ui-pomcontext files when your task matches their description.