How pietroconta/e2egen-ai works
E2EGen AI turns natural-language test steps into Playwright actions, runs them in a browser, and records outcomes and usage. The CLI loads settings and StepsPacks, creates step models and runtime services, then TestRunner owns browser navigation and sequential execution. For each step, RetryManager coordinates cache lookup or cleaned-page-context generation, execution, and retries; TestRunner records results and requests reports. README-documented capabilities such as configurable expectations, cache modes, HTML reports, and orphan cleanup are included. Some links reflect README claims because their implementation was not sampled.
Main entry points: index.js CLI orchestration · TestRunner.js Test runner · RetryManager.js Retry manager · TestExecutor.js Playwright executor
Components 19
Suite Setup
- CLI orchestration
index.js - Settings and packs
core/ConfigManager.js - Step model
models/Step.js - StepsPacks
stepspacks - Suite settings and steps
aidriven-settings.json
Code Generation
- Generated code cache
core/TestExecutor.js - HTML cleaning
core/TestExecutor.js - AI code generator
core/CodeGenerator.js - Mock AI
mock-openai.js
Browser Execution
- Test runner
core/TestRunner.js - Retry manager
core/RetryManager.js - Playwright executor
core/TestExecutor.js
Run Operations
- Run reporting
core/TestReporter.js - JSON and HTML reports
core/TestReporter.js - Orphan cleanup
utils/Cleaner.js - Cost analysis
utils/analysis.js
Other components
- Test author
- Target website
- OpenAI service
Connections 25
- Test author → CLI orchestration: starts run
README.md - Test author → Suite settings and steps: defines suite
README.md - Test author → StepsPacks: selects pack
README.md - CLI orchestration → Settings and packs: loads options
index.js - Settings and packs → StepsPacks: loads pack settings
core/ConfigManager.js - Settings and packs → Suite settings and steps: loads suite config
core/ConfigManager.js - CLI orchestration → Step model: creates steps
index.js - CLI orchestration → Test runner: starts run
index.js - CLI orchestration → Orphan cleanup: cleans cache
index.js - Test runner → Target website: navigates page
core/TestRunner.js - Test runner → Retry manager: dispatches steps
core/TestRunner.js - Retry manager → Playwright executor: executes code
core/RetryManager.js - Retry manager → Playwright executor: reads or writes cache
core/RetryManager.js - Retry manager → Playwright executor: extracts page HTML
core/RetryManager.js - Playwright executor → Target website: runs actions
core/TestExecutor.js - Playwright executor → HTML cleaning: cleans HTML
core/TestExecutor.js - Retry manager → AI code generator: requests code
core/RetryManager.js - AI code generator → OpenAI service: requests completion
core/CodeGenerator.js - CLI orchestration → Mock AI: selects mock mode
index.js - Mock AI → AI code generator: supplies completion
- Test runner → Run reporting: records results
core/TestRunner.js - Test runner → JSON and HTML reports: requests reports
core/TestRunner.js - Run reporting → JSON and HTML reports: writes reports
core/TestReporter.js - Cost analysis → JSON and HTML reports: analyzes run logs
utils/analysis.js - Orphan cleanup → Generated code cache: removes orphan files