e2e is an end-to-end testing framework for web and mobile apps. Describe a goal in natural language and an agent interacts with the app to complete it. Use locators and assertions in the same test to check exact results. Customize anything from agent to the engine.
// tests/checkout.e2e.ts
import { test, expect } from 'e2e';
test('a member upgrades to Pro', async ({ app, agent, screen }) => {
await app.open('/settings/billing');
await agent.act('upgrade the workspace to the Pro plan');
await agent.assert('the invoice preview shows a prorated amount');
await expect(screen.getByRole('status')).toContainText('Pro');
});npx e2e initAn agent step that a later assertion verifies records its actions, and the next run replays them with no model calls until the app changes. Tests without agent steps need no model. Bring your own subscription, API key, or local model.
e2e.tester.army/docs: quickstart, writing tests, mobile, migrating from Playwright, Cypress, Selenium, Detox, or Maestro, and the full reference.
e2e: SDK, runner, and CLI.@e2e-dev/web: the browser engine.@e2e-dev/mobile: the iOS and Android engine.@e2e-dev/github: the pull request comment reporter.@e2e-dev/kernel: Kernel hosted browsers for the web engine.@e2e-dev/eas: EAS Simulators hosted iOS simulators and Android emulators for the mobile engine.
See CONTRIBUTING.md and SECURITY.md. Apache-2.0.
Built by TesterArmy, the agentic testing platform that runs plain-English tests on web and mobile apps and reports back with screenshots and recordings.
