What Is the e2e Testing Framework From TesterArmy
A technical breakdown of the open-source agentic testing framework combining natural-language goals, Playwright web execution, iOS simulators and Android emulators, and cached replays.
The e2e testing framework is an open-source automation tool created by TesterArmy for web and mobile software applications. TesterArmy distributes the framework under the Apache-2.0 software license as a TypeScript testing framework for web and mobile apps. e2e shares its name with the broader engineering discipline of end-to-end (E2E) testing.
The e2e testing framework allows tests to state goals in plain language for an agent while preserving deterministic assertions. All technical specifications here come directly from published project sources.
The setup command shown is npx e2e init (the product page shows npx e2e@latest init).
What Is e2e
e2e is a free, open-source TypeScript testing framework for web and mobile apps where a test states a natural-language goal that an agent completes, combines it with deterministic locators, and replays recorded actions without model calls until the interface changes. The framework itself requires no software licensing fees, leaving teams to pay only for the third-party model access routes they select.
The project is published by TesterArmy under the Apache-2.0 software license. e2e allows tests to mix exact locators and assertions with goal-driven agent prompts in the same file.
An example test documented in the e2e GitHub repository illustrates this hybrid pattern through a user billing scenario. The test first navigates directly to a billing settings route. The agent acts on the goal "upgrade the workspace to the Pro plan". Next, the agent asserts "the invoice preview shows a prorated amount". Finally, a normal locator assertion checks that a status element contains "Pro".
How an e2e Test Runs
In e2e, each test runs once per target, and recorded agent actions replay with no model calls until the app changes.
Agent actions within the test suite operate across four dedicated functional methods documented on the e2e documentation site. The agent.act method completes a natural-language interaction goal, while agent.assert, agent.waitFor, and agent.extract judge the screen. The test runner redacts registered secrets from model input prompts and records steps, failures and artifacts in a report that you or your coding agent can read.
To prevent continuous model costs, e2e records interaction sequences from agent.act steps that are validated by subsequent assertions. Future runs replay those recorded interactions with zero model calls until the app changes. If an interface changes, e2e returns control to the agent to navigate the revised layout. However, when using the built-in agent, the agent.assert, agent.waitFor, and agent.extract methods always call the model on every execution run.
Web and Mobile Target Environments
e2e supports cross-platform execution across desktop browsers, iOS simulators, and Android emulators through dedicated engine packages. The web engine executes browser tests through Playwright across Chromium, Firefox, and WebKit. The mobile engine controls iOS simulators and Android emulators through an external library called agent-device, and developers can also write their own engine.
The official repository organizes framework components into modular packages tailored to different deployment environments. Teams can install the core runner alongside specific platform drivers, continuous integration (CI) reporters, and hosted browser integrations.
The repository maintains passing standalone example projects across multiple web and mobile frameworks. Available code samples cover Vite, Next.js, Astro, Expo, SwiftUI, Jetpack Compose, Kotlin Multiplatform, and Flutter.
- e2e: core Software Development Kit (SDK), runner, and CLI
- @e2e-dev/web: browser execution engine running Chromium, Firefox, and WebKit through Playwright
- @e2e-dev/mobile: mobile execution engine driving iOS simulators and Android emulators through agent-device
- @e2e-dev/github: automated reporter that posts execution summaries as pull request (PR) comments
- @e2e-dev/kernel: hosted browser integration for executing web suites on Kernel infrastructure
Framework and Model Costs
e2e is free to download and use under the Apache-2.0 license, meaning teams incur direct expenses only for the underlying AI model access routes they choose to configure. None of the sources read (product page, README, docs) states a price for a hosted or paid TesterArmy tier. Tests written entirely with standard locators and code assertions execute without calling any AI model.
Teams connect their own model infrastructure to power the agent methods. The framework accepts connections routed through Vercel AI Gateway, OpenRouter, direct provider application programming interface (API) keys, or a subscription.
Supported model families include OpenAI, Claude, Gemini, SpaceXAI, Llama, Mistral, DeepSeek, or a custom model. The configuration interface allows developers to assign custom system prompts, such as assigning a dedicated QA testing agent persona. The sources read do not state token consumption estimates, pricing schedules, or expected monthly operational costs for running a full test suite.
Differences From Classic Scripted Suites
e2e tests can use exact locators and assertions, goals in natural language that an agent completes, or both in the same test.
TesterArmy publishes migration guides for teams transitioning existing test suites away from Playwright, Cypress, Selenium, Detox, and Maestro. Organizations planning broader workflow changes can review our guides on autonomous AI agents for business and AI agent development for small business to evaluate where autonomous tooling fits their operations.
Implementation Boundaries and Technical Requirements
The quickstart documentation specifies that the framework requires Node.js version 24.8 or newer, or version 22.22.3 or newer for environments running Node.js 22. Developers running Windows must execute the framework inside the Windows Subsystem for Linux (WSL).
Mobile testing introduces local software dependencies before a test suite can launch. Teams running iOS suites must install Apple Xcode with an active simulator runtime, while Android test suites require the Android SDK paired with an active emulator device.
CI pipelines support automated execution across GitHub Actions, EAS Workflows, Bitrise, and Codemagic, with remote execution options including Kernel, EAS Simulators, smol machines, Limrun, and Extend. Software teams can also paste a quickstart prompt directly into tools like Claude Code, Codex, or Cursor to install an e2e skill. The project's published sources do not state a current version number, GitHub star count, formal benchmark data, or flakiness metrics.
Public Reception and Community Signals
The project appeared on Hacker News as a Show HN post for the open-source agentic testing framework for web, iOS and Android, where the post received 9 points.
The official product page at tester.army/e2e displays three quoted reactions (from Guillermo Rauch, Expo and David Cramer). Guillermo Rauch wrote that verification engineering will combine deterministic tests with agentic tests, Expo wrote "The agentic mobile testing game just changed.", and David Cramer commented that the framework looked great.
These are testimonials on the product site.
Frequently Asked Questions
- e2e is an open-source, Apache-2.0 licensed TypeScript testing framework created by TesterArmy for web and mobile applications. It enables software teams to describe user interaction goals in plain language for an autonomous agent to execute, while combining those goals with exact locators and code assertions. Actions from successful agent steps are recorded and replayed on subsequent runs without making model calls until the underlying interface changes.
- The framework is free under Apache-2.0. The sources read state no price for any TesterArmy hosted or paid tier. You pay for the model access you choose. Tests without agent steps need no model.
- Yes, e2e supports mobile app testing for iOS and Android devices through its @e2e-dev/mobile package. The engine controls iOS simulators and Android emulators using the agent-device library. Running mobile tests locally requires Apple Xcode with an iOS simulator runtime or the Android SDK with an active emulator. The framework repository includes passing sample test projects for Expo, SwiftUI, Jetpack Compose, Kotlin Multiplatform, and Flutter.
- Not for replayed agent.act steps. With the built-in agent, assert, waitFor and extract call the model on every run. Tests without agent steps need no model. When an agent action step passes validation by a subsequent assertion, the runner records the interaction sequence and replays it on future runs with zero model calls.
- You can bring your own subscription, API key, or local model, connecting through Vercel AI Gateway, OpenRouter, a direct API key, or a subscription. Supported model families include OpenAI, Claude, Gemini, SpaceXAI, Llama, Mistral, DeepSeek, or a custom model. Teams can specify custom system prompts and configure model identifiers directly within the framework settings.