e2e README

The project's README from github.com/tester-army/e2e. As one markdown file: README.md.

e2e, the open source AI testing framework by TesterArmy

Made by TesterArmy npm version License: Apache-2.0 Join the community on Discord

e2e

e2e is an end-to-end testing framework for web and mobile apps. Describe a goal in natural language and an agent drives the app to reach it. Check the result with locators and assertions in the same test.

// 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');
});

An 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.

Quick start

npx e2e init

init asks for an engine, web or mobile, and a model provider, then writes a config and an example test. The quickstart covers the rest.

Packages

Package What it does
e2e The SDK, runner, and CLI.
@e2e-dev/web Browser engine: Chromium, Firefox, and WebKit through Playwright.
@e2e-dev/mobile iOS and Android engine: simulators and emulators through agent-device.
@e2e-dev/github Reporter that posts results as a pull request comment.
@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.

Documentation

e2e.tester.army/docs. The e2e package ships every page, so coding agents can read them offline in node_modules/e2e/docs.

Contributing

See CONTRIBUTING.md. Questions go to Discord.

Security

Please don't open public issues for security vulnerabilities. Follow SECURITY.md and report them to [email protected].

Telemetry

The CLI sends anonymous usage data, such as which commands and engines run and where runs fail, but no test content, app content, or credentials. Opt out with npx e2e telemetry disable or E2E_TELEMETRY_DISABLED=1. Telemetry lists every field.

Status

[!NOTE] e2e is in active development on the way to 1.0. APIs and config can still change between minor releases.

Made by TesterArmy

e2e is built by TesterArmy, the agentic testing platform that runs natural language tests on web and mobile apps, on every pull request or on a schedule.

Apache-2.0.

e2e (tester-army/e2e)

test-automation
Searching Database…

11.1K ·GitHub
What is this?e2e is an end-to-end testing framework for web and mobile apps. You describe a goal in natural language, an agent drives the app to reach it, and you check the result with locators and assertions in the same test.
Is this one package or several, and is it a framework or just an SDK?It is split into packages: the core 'e2e' package provides the SDK, test runner, and CLI, with separate engine packages for web (Chromium, Firefox, WebKit via Playwright) and mobile (iOS/Android via agent-device), plus optional reporter and hosting packages.
How do I write my first test?Run the CLI init command: it asks for an engine (web or mobile) and a model provider, then generates a config file and an example test to build on.
Do I need a specific AI provider to run tests?No single provider is required. You bring your own subscription, API key, or local model for the agent steps.
Does every test call an AI model every time it runs?Only steps driven by the agent call a model the first time; once an assertion verifies that step, its actions are recorded and later runs replay them with no model calls until the app changes. Tests with no agent steps never need a model at all.
Which browsers and mobile platforms does it support?Web tests run on Chromium, Firefox, and WebKit through Playwright; mobile tests run on iOS and Android simulators/emulators through the agent-device engine.
Does the CLI send my test data anywhere?The CLI sends anonymous usage telemetry about which commands and engines run and where runs fail, but it never sends test content, app content, or credentials, and you can opt out.
Is there a way to avoid running browsers or emulators myself?Yes: @e2e-dev/kernel offers hosted browsers for the web engine, and @e2e-dev/eas offers hosted iOS simulators and Android emulators for mobile.
Is e2e stable enough for production use?Not fully yet; the project is in active development toward a 1.0 release, and the README warns that APIs and config can still change between minor releases.
Size
90.7 MB
Stars
11.1K
Age
2mo
Commits · 90 Days