Self-Healing & Learning
UI changes should not mean broken tests. When your application evolves, RoostGPT automatically detects, diagnoses, and repairs failing tests — and gets smarter with every run.
How Self-Healing Works
When a test fails, RoostGPT determines the root cause and takes the appropriate action:
| Diagnosis | What Happened | Action Taken |
|---|---|---|
| Selector drift | A UI element moved or was renamed | Test is regenerated with updated selectors |
| Flaky failure | Network hiccup or environment issue | Identified as non-issue — no code change needed |
| Code bug | Test logic issue, not a UI change | Agentic fixer patches the test code |
| Workflow changed | The underlying flow changed significantly | You are notified — the flow needs review |
| Navigation failed | The UI changed too much to navigate | You are notified — a new test suite is needed |
The system re-validates tests before any fix is attempted, filtering out false positives caused by environmental flakiness. Only consistent failures trigger the repair pipeline.
What Gets Healed
- Changed selectors — page object selectors updated to match new DOM structure
- Modified workflows — test steps reordered or updated to follow the new flow
- Timing issues — wait conditions adjusted for slower or asynchronous responses
- Layout changes — assertions updated for new element positions or content
Knowledge Accumulation
The more you use RoostGPT for UI testing, the better it performs. The system builds domain expertise for each application:
- Learns from success and failure — reliable selector patterns are remembered and reused; failed approaches are avoided automatically
- Faster over time — repeat runs benefit from accumulated knowledge, reducing exploration time and improving test accuracy
- Cross-team knowledge sharing — optionally share learnings across your organization so one team's insights benefit everyone testing the same application
- Self-maintaining — accumulated knowledge is automatically organized and kept relevant without manual curation
Enable site memory via ENABLE_SITE_MEMORY=true in your configuration.
Resume & Extend Previous Runs
Never start from scratch. Pick up exactly where you left off:
| Operation | Description |
|---|---|
| Explore more | Discover additional workflows by targeting new focus areas, building on everything from previous runs |
| Re-run specific workflows | Re-execute only the workflows affected by application updates |
| Regenerate tests | Produce fresh test code from existing scenario data when generation settings change |
| Run history | Browse previous runs and select exactly what to re-process |
All operations update the same metadata, preserving complete history across sessions.
Import Existing Playwright Tests
Already have a Playwright test suite? Don't start over — import it.
- Existing test analysis — reads your current Playwright tests and understands what they cover
- Coverage gap detection — identifies what is missing so new generation focuses only on gaps
- No duplicates — imported tests are tracked to prevent redundant generation
- Build on your investment — the system enhances your existing suite rather than replacing it
Configure SCAN_EXISTING=true in your .env file to scan before exploration begins.
Next Steps
- Autonomous Discovery — How initial test discovery works
- Page Object Model — How POM selectors are structured for resilience
- CI/CD Integration — Run self-healing in your pipeline
- Configuration Reference — Healing and resume settings