How unnamak/agentic-playwright-typescript-framework works
This repository is a Playwright/TypeScript automation framework for SauceDemo, with a principal user-to-result workflow of running page-object tests and receiving resilient actions plus test and healing reports. Its self-healing path intercepts failed locator actions, checks a persistent selector cache, inspects the live DOM, consults an optional LLM or semantic heuristics, verifies a candidate, retries the action, and records healing events. Page-object coverage includes login, inventory/cart and checkout. The graph follows README capabilities and sampled call ownership; unsampled fixture, page-object and reporter wiring is represented only where documented.
Main entry points: tests Playwright suites · HealerAgent.ts Healing orchestrator · BasePage.ts Page base · SmartLocator.ts Smart locator
Components 24
Test workflow
- Playwright suites
tests - Smart fixtures
src/fixtures/test.fixture.ts - Test data
src/data/testData.ts
Self-healing
- Smart page
src/core/wrapper/SmartPage.ts - Smart locator
src/core/wrapper/SmartLocator.ts - Healing orchestrator
src/core/agent/HealerAgent.ts - DOM extractor
src/core/agent/DomExtractor.ts - Semantic matching
src/core/agent/HeuristicEngine.ts - LLM provider
src/core/agent/LlmProvider.ts - Runtime configuration
src/utils/config.ts
Healing evidence
- Selector cache
src/core/cache/HealingCache.ts - Healing events
src/core/agent/HealerAgent.ts - Healing dashboard
src/core/reporter/HealingReporter.ts
SauceDemo pages
- Login page
src/pages/LoginPage.ts - Inventory page
src/pages/InventoryPage.ts - Cart page
src/pages/CartPage.ts - Checkout details
src/pages/CheckoutStepOnePage.ts - Checkout summary
src/pages/CheckoutStepTwoPage.ts - Order complete
src/pages/CheckoutCompletePage.ts - Page base
src/pages/BasePage.ts
Other components
- Test author
- SauceDemo site
- LLM services
- Report files
Connections 30
- Test author → Playwright suites: authors tests
- Playwright suites → Smart fixtures: runs with
- Smart fixtures → Smart page: provides
- Playwright suites → Test data: uses data
- Playwright suites → Login page: exercises
- Playwright suites → Inventory page: exercises
- Playwright suites → Cart page: exercises
- Playwright suites → Checkout details: exercises
- Playwright suites → Checkout summary: exercises
- Playwright suites → Order complete: exercises
- Login page → Page base: extends
- Inventory page → Page base: extends
- Cart page → Page base: extends
- Checkout details → Page base: extends
- Checkout summary → Page base: extends
- Order complete → Page base: extends
- Page base → Smart page: uses
- Smart page → Smart locator: creates
- Smart locator → Healing orchestrator: invokes on failure
- Healing orchestrator → Runtime configuration: reads settings
- Healing orchestrator → Selector cache: checks and updates
- Healing orchestrator → DOM extractor: extracts snapshot
- Healing orchestrator → LLM provider: consults by strategy
- Healing orchestrator → Semantic matching: scores candidates
- Healing orchestrator → Healing events: records events
- DOM extractor → SauceDemo site: inspects live DOM
- Smart locator → SauceDemo site: performs and retries actions
- LLM provider → LLM services: requests candidates
- Healing dashboard → Healing events: reads events
- Healing dashboard → Report files: writes dashboard