tester-army/e2e
Developer ToolsE2E test framework where an agent performs natural-language steps on web and mobile apps, recorded and replayed.
What it does
e2e is an end-to-end testing framework for web and mobile apps. Instead of scripting every UI interaction, you describe a goal in natural language and an agent drives the app toward it, then you check the outcome with ordinary locators and assertions in the same test. A minimal test mixes both styles:
// 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');
});
When an agent step is followed by an assertion that verifies it, the actions are recorded; later runs replay them without model calls until the app changes. Tests with no agent steps need no model at all. It targets teams testing browser apps (Chromium, Firefox, WebKit via Playwright) and iOS/Android apps on simulators, emulators or real devices.
Quick start
You need Node.js and npm; a model provider is only required for tests that contain agent steps. In your project directory run:
npx e2e init
init asks which engine to use (web or mobile) and which model provider to configure, then writes a config and an example test. The quickstart covers the remaining steps. For a complete reference setup matching your stack, the examples directory contains standalone projects with passing suites for Vite, Next.js, Astro, Angular, Expo, SwiftUI, Jetpack Compose, Kotlin Multiplatform, Flutter and .NET MAUI.
Execution and model options
The web engine is provided by @e2e-dev/web; the mobile engine by @e2e-dev/mobile. Model access is bring-your-own: a subscription, an API key, or a local model. Agent steps can also run on your own coding agent (Claude Code or Codex) through the Agent Client Protocol using @e2e-dev/acp, and @e2e-dev/decision provides executors for bounded semantic actions and assertions plus a filter that skips tests a pull request is unlikely to affect.
Hosted runners are available as separate integrations: Kernel hosted browsers, Lightpanda, smol microVMs, TestMu AI, BrowserStack and Limrun for mobile devices, and EAS simulators. GitHub pull-request reporting is a separate package as well. Pick these only if you need remote browsers or real devices.
Constraints and status
- Agent steps require a configured model provider; non-agent tests do not.
- Replay is tied to the recorded app state — when the app changes, the step relies on the model again.
- The project is pre-1.0: APIs and configuration may change between minor releases.
- The CLI sends anonymous usage telemetry (commands, engines, failure locations) but not test content, app content or credentials. Disable it with
npx e2e telemetry disableorE2E_TELEMETRY_DISABLED=1; the telemetry page lists every field. - Licensed under Apache-2.0. Report vulnerabilities privately per SECURITY.md rather than in public issues.
- The
e2epackage ships its documentation insidenode_modules/e2e/docs, which lets coding agents read it offline.
HotRepo's take
HotRepo has no all-language daily rank recorded for this repository, but the daily snapshots it does have show a steep climb during early October 2026: from 2,624 stars on 2026-10-04 to 7,960 on 2026-10-08, with daily gains of 344, 1,430, 1,720, 1,391 and 1,390. A later monthly TypeScript snapshot on 2026-11-01 records 12,423 stars and 12,461 gained for that month at position 17. The Show HN thread from 2026-10-12 is small (9 points, 2 comments), so the discussion provides limited signal; one commenter, binsquare, said on 2026-10-13 that daily use had improved their testing and edge-case discovery (comment). Treat the star history as attention, not as evidence the framework fits a particular stack — the examples folder is a better first check.
Written by AI from the project's README, updated . The project's own docs are the source of truth.