e2e is an open-source end-to-end testing framework for web and mobile apps in which you write a step as a plain-English goal and an agent drives the app until it reaches that goal. It is aimed at front-end and QA engineers who already keep a TypeScript browser suite and spend more time repairing selectors than writing new coverage. The framework is published by TesterArmy under Apache-2.0, is written in TypeScript, and has gathered roughly 2,700 stars and about 100 forks on GitHub since the repository was created in July 2026.
What it does
A test file looks like an ordinary modern browser test with two extra verbs. The test callback receives app, agent and screen: app.open('/settings/billing') navigates, agent.act('upgrade the workspace to the Pro plan') hands a goal to the agent, and agent.assert('the invoice preview shows a prorated amount') asks the agent to judge what is on screen. Conventional assertions live in the same test, so the README's checkout example ends with expect(screen.getByRole('status')).toContainText('Pro') — a normal role locator and a string.
That mix is the point. Agent steps skip selectors entirely, while the result you care about most can still be pinned to a locator. According to the project and the video, the runner drives real browsers — Chromium, Firefox and WebKit — or a phone simulator, and the setup command asks whether you want a web or a mobile engine.
How it works
The interesting part is recording. The README states that an agent step which a later assertion verifies records the actions it took, and that the next run replays those recorded actions with no model calls until the app changes. Tests that contain no agent steps never need a model at all.
That is the authors' own description of their design, not an independent measurement, and this channel does not run the tools it covers. The repository publishes no benchmark for how often a replay survives a UI change, so treat "no model calls on replay" as the project's claim about its own cache, and expect the model to be consulted again whenever the recorded path stops matching the app.
The model itself is not bundled. The README is explicit: bring your own subscription, API key, or local model.
Getting started
Setup is a single command, because the framework ships as the npm package e2e:
npx e2e init
init asks for an engine, web or mobile, and for a model provider, then writes configuration — the saved copy of the README is cut off at that point, so exactly what it writes is not documented here. Since it comes from npm you need Node and npm; there is no Releases download, no sideloader and no app store step.
What it costs:
- The framework is free, Apache-2.0 licensed, and self-hosted in the sense that you run it in your own CI.
- The intelligence is not free. You pay a provider for an API key or use an existing subscription, or you run a local model on your own hardware.
- Suites without agent steps cost nothing beyond normal test time, because they call no model.
The repository does not list operating systems, memory, VRAM or GPU requirements, so assume whatever your browsers or your phone simulator already need, plus whatever a local model needs if you take that route. The code is at github.com/tester-army/e2e, and the README links a Discord community.
When to use it / when not
The main catch is the one the project names itself: e2e does not include a model, so any suite with agent steps depends on a paid API key, a paid subscription, or hardware strong enough to serve a local model. The second catch is age — the repository was created in July 2026 and is only a few months old, which is early for a piece of a release pipeline.
Use it instead of a plain Playwright or Cypress suite when your tests keep failing because the markup moved rather than because the product broke, and when a flow like "upgrade the workspace to the Pro plan" costs dozens of brittle lines to express. The repository lists playwright among its GitHub topics, so the selector-based world it comes out of should feel familiar.
Don't use it if your CI has to run fully offline with no external service in reach and your flows need agent steps; if model usage is not something you can budget; or if you need a framework with years of released versions and a long compatibility record behind it.
e2e is worth serious attention from teams whose end-to-end suite has turned into selector maintenance, and who can accept paying for model calls on the first run of each flow in exchange for tests written as sentences. The record-and-replay idea is the part to evaluate first, because it decides whether the running cost stays small or grows with every UI change — and that is something you can measure on your own app within an afternoon, since the whole framework is one npm command and an Apache-2.0 licence. Teams that cannot route test runs through an external model, or that need a settled tool today, should keep watching rather than adopt.