Traditional E2E testing with Selenium/Playwright breaks whenever the UI changes - new class names, restructured DOM, updated copy. Notte agents test against intent, not implementation.
Traditional approach:
page.click('[data-testid="submit-button"]')
page.waitForSelector('.success-message')Breaks when: testid changes, class name changes, element moves, page restructures.
Notte approach:
"Submit the form and verify the success message appears."
Works regardless of implementation details.
How to use Notte for testing:
- Describe test scenarios in natural language
- Notte agents navigate your app, interact with it, and verify outcomes
- Get structured pass/fail results with session replay for failures
- No selectors to maintain
When AI testing makes sense:
- Applications that change UI frequently
- Smoke testing across many pages/flows
- Testing third-party integrations (where you don't control the UI)
- Exploratory testing and regression detection
When traditional selectors are fine:
- Your own app with stable data-testids
- Fast, deterministic unit/integration tests
- CI/CD pipelines where speed matters most
Notte complements your test suite - use AI agents for the tests that break most often.
Docs at docs.notte.cc/concepts/agents.