# e2e > The open source AI testing framework. A TypeScript end-to-end test runner for web, iOS, and Android that mixes agent goals with exact locator assertions, and replays verified agent steps from a cache without calling the model. Every link below is markdown except the examples and the optional links. Docs pages and blog posts also answer `Accept: text/markdown` at their own URL. The docs have their own index at https://e2e.com/docs/llms.txt. ## Overview - [e2e](https://e2e.com/index.md): What e2e is, how to set it up (including for coding agents), and how it compares to Playwright, Cypress, Maestro, and agent-only AI testing ## Docs - [Introduction](https://e2e.com/docs/index.md): Open source AI testing for web and mobile apps. Spend less time on tests and more time building. - [Quickstart](https://e2e.com/docs/quickstart.md): Set up e2e with one prompt to your coding agent, or step by step. - [Core concepts](https://e2e.com/docs/core-concepts.md): Goals, assertions, and locators, and how to structure and run tests with them. - [Agentic or deterministic](https://e2e.com/docs/agentic-vs-deterministic.md): Choose agentic or deterministic actions and assertions for your end-to-end tests. - [Coding agents](https://e2e.com/docs/coding-agents.md): Give a coding agent the skill, a live app session, and reports it can use to write and debug tests. - [MCP server](https://e2e.com/docs/mcp-server.md): Let your coding agent use your app and check its own work. - [Setting up CI](https://e2e.com/docs/ci.md): Run e2e on GitHub Actions, GitLab CI/CD, Expo Workflows, Bitrise, Codemagic, Norrix, or any CI service that runs Node. - [Web](https://e2e.com/docs/web.md): Point the web engine at your app or let the runner start it, and run a suite at several viewport sizes. - [Mobile](https://e2e.com/docs/mobile.md): Set up a simulator, emulator, or connected phone as a target, write a device test, and know what differs from the web. - [API](https://e2e.com/docs/api-testing.md): Check your API with fetch and value matchers, in the same files and run as UI tests. - [Caching](https://e2e.com/docs/cache.md): Replay verified agent actions without model calls, and let the agent take over when the app changes. - [Exploring without a test](https://e2e.com/docs/explore.md): Give the agent a goal, not a test file. It plans its steps, operates the app, and reports what it finds. - [Visual comparison](https://e2e.com/docs/visual-testing.md): Compare the screen, or one element, against a stored screenshot on the web, iOS, and Android with the same test. - [Authentication](https://e2e.com/docs/authentication.md): Sign in once, reuse the session across tests, and pass secrets without exposing them to the model. - [Bug bashes](https://e2e.com/docs/bug-bash.md): Run many explore sessions at the same time, then prove each bug with a failing test. - [Agents and personas](https://e2e.com/docs/agents.md): Configure several agents in one suite, pin tests to them, and run one flow as each persona. - [Models](https://e2e.com/docs/models.md): Configure a model with your own subscription, an API key, or a local server. - [Decision models](https://e2e.com/docs/decision-models.md): Run bounded actions with a decision model and a small text model instead of a full LLM agent. - [Subscriptions](https://e2e.com/docs/subscriptions.md): Use your ChatGPT, GitHub Copilot, OpenCode Console, or SuperGrok subscription, your Claude Max or Team plan's API credits, or your Claude Code or Codex login for agent steps. - [GitHub Actions](https://e2e.com/docs/ci/github-actions.md): Run web, iOS, and Android tests on GitHub Actions, upload the reports, and post the results on the pull request. - [GitLab CI/CD](https://e2e.com/docs/ci/gitlab.md): Run web, iOS, and Android tests on GitLab CI/CD, show the results in the merge request, and run only the tests a merge request can affect. - [Expo Workflows](https://e2e.com/docs/ci/eas-workflows.md): Build an Expo app with Expo Build and run iOS and Android tests on it in an Expo workflow. - [Bitrise](https://e2e.com/docs/ci/bitrise.md): Run iOS and Android tests on Bitrise with one workflow for each platform in a pipeline. - [Codemagic](https://e2e.com/docs/ci/codemagic.md): Run iOS and Android tests on Codemagic, on a Mac mini for iOS and a Linux instance for Android. - [Norrix](https://e2e.com/docs/ci/norrix.md): Build a NativeScript app with Norrix and run its e2e suite on a Norrix simulator or emulator. - [GitHub PR comments](https://e2e.com/docs/github.md): The @e2e-dev/github reporter posts one comment per run from GitHub Actions and keeps it current. - [Overview](https://e2e.com/docs/integrations/index.md): Official integrations with hosted browser and device services, one package per service. - [Kernel](https://e2e.com/docs/integrations/kernel.md): Run web targets in Kernel's hosted Chromium with the kernel() browser provider from @e2e-dev/kernel. - [Lightpanda](https://e2e.com/docs/integrations/lightpanda.md): Run web targets in Lightpanda, the open-source headless browser, with the lightpanda() browser provider from @e2e-dev/lightpanda. - [Expo Simulators](https://e2e.com/docs/integrations/eas.md): Run mobile targets on Expo Simulators' hosted iOS simulators and Android emulators with the expoSimulators() device provider from @e2e-dev/eas. - [smol machines](https://e2e.com/docs/integrations/smol.md): Run each web test attempt in its own branch of a warm Chromium microVM on your computer with the smol() browser provider from @e2e-dev/smol. - [Limrun](https://e2e.com/docs/integrations/limrun.md): Run mobile app tests on hosted iOS simulators and Android emulators. - [TestMu AI](https://e2e.com/docs/integrations/testmu.md): Run mobile targets on TestMu AI (formerly LambdaTest) emulators, simulators, and real devices, and web targets in its hosted Chrome and Edge, with @e2e-dev/testmu. - [BrowserStack](https://e2e.com/docs/integrations/browserstack.md): Run mobile targets on BrowserStack App Automate real Android and iOS devices with the browserstack() device provider from @e2e-dev/browserstack. - [E2B](https://e2e.com/docs/integrations/e2b.md): Run Android targets and web targets in E2B sandboxes with the e2b() and e2bBrowsers() providers from @e2e-dev/e2b. - [Project tools](https://e2e.com/docs/tools.md): Add tools for test APIs, data setup, and device operations. - [Writing fixtures](https://e2e.com/docs/fixtures.md): Create test data and other resources before each test and clean them up after it. - [Custom executors](https://e2e.com/docs/executors.md): Customize the agent loop or implement your own step executor. - [Test filters](https://e2e.com/docs/filters.md): Run only the tests a pull request can affect. - [Engines](https://e2e.com/docs/engines.md): Choose how to build an engine for a UI platform, in TypeScript or any other language. - [Writing an engine](https://e2e.com/docs/writing-an-engine.md): Implement the e2e engine contract for another UI platform. - [Engine servers](https://e2e.com/docs/engine-servers.md): Run an engine in another process, on another machine, or in another language. - [Working with the browser](https://e2e.com/docs/browser.md): Mock an API, handle a dialog, download a file, reach into an iframe, and pick a browser. - [Security](https://e2e.com/docs/security.md): What the model can see and do, how secrets stay out of it, and what you still need to watch. - [Telemetry](https://e2e.com/docs/telemetry.md): What the CLI sends, what it never sends, and how to turn it off. - [Debugging a run](https://e2e.com/docs/debugging.md): Read the trace page, open the evidence, watch the browser, and see what the model was sent. - [How agent steps work](https://e2e.com/docs/agent-steps.md): What the model sees, what it may do, how a step ends, and what it costs. - [Self-healing tests](https://e2e.com/docs/self-healing.md): How a replayed agent step recovers when the UI changed, and how the recording repairs itself. - [Page objects](https://e2e.com/docs/page-object-model.md): Wrap one screen's locators and actions in a class, and hand it to tests as a fixture. - [Overview](https://e2e.com/docs/migrate/index.md): Move a Playwright, Cypress, Selenium, Appium, Detox, Maestro, or TesterArmy suite to e2e one test at a time. - [From Playwright](https://e2e.com/docs/migrate/playwright.md): Run e2e alongside Playwright and migrate tests one file at a time. - [From Cypress](https://e2e.com/docs/migrate/cypress.md): Replace Cypress command chains with async tests and keep your data-cy attributes. - [From Selenium](https://e2e.com/docs/migrate/selenium.md): Rewrite Selenium flows in TypeScript with locators, retrying assertions, and agent goals. - [From Appium](https://e2e.com/docs/migrate/appium.md): Move Appium and WebdriverIO mobile tests to TypeScript with locators, device calls, and agent goals. - [From Detox](https://e2e.com/docs/migrate/detox.md): Use your existing app build and testIDs with screen, expect, and agent goals. - [From Maestro](https://e2e.com/docs/migrate/maestro.md): Move Maestro flows to TypeScript with locators, assertions, and agent goals. - [From TesterArmy](https://e2e.com/docs/migrate/testerarmy.md): Turn TesterArmy saved tests into e2e tests that run in your repository and CI. - [test](https://e2e.com/docs/reference/test.md): Tests, setup tests, groups, hooks, options, and fixtures. - [expect](https://e2e.com/docs/reference/expect.md): Locator assertions, fixture assertions, and plain value matchers. - [screen and Locator](https://e2e.com/docs/reference/screen.md): Queries, refinement, actions, and reads. - [app](https://e2e.com/docs/reference/app.md): The portable app lifecycle fixture, available on every platform. - [agent](https://e2e.com/docs/reference/agent.md): Run agent actions, check conditions, and extract structured data. - [E2EConfig](https://e2e.com/docs/reference/config.md): Every configuration key, its default, its valid range, and the environment variables. - [CLI](https://e2e.com/docs/reference/cli.md): Commands, flags, output formats, and exit codes. - [e2e/runner](https://e2e.com/docs/reference/runner.md): Run a test suite or an exploration, list a selection, or host e2e sessions in another test runner. - [MCP server (e2e mcp)](https://e2e.com/docs/reference/mcp.md): Let a coding agent inspect and interact with your app over MCP. - [Reporters](https://e2e.com/docs/reference/reporters.md): Receive run events and publish results with a custom reporter. - [Environment variables](https://e2e.com/docs/reference/environment.md): Every variable the runner and the first-party engines read, and what each one does. - [Errors](https://e2e.com/docs/reference/errors.md): Every code you can see, its class, and its exit code. - [Security rules](https://e2e.com/docs/reference/security.md): Every rule the runner enforces on model input, tool calls, secrets, redaction, sessions, the replay cache, artifacts, and network connections. - [Browser](https://e2e.com/docs/reference/web.md): The browser engine, its options, and the browser fixture it contributes. - [Mobile](https://e2e.com/docs/reference/mobile.md): Mobile engine options and the device fixture for iOS and Android. - [e2e/engine](https://e2e.com/docs/reference/engine.md): Build an engine with observations, actions, lifecycle hooks, and fixtures. - [Engine protocol](https://e2e.com/docs/reference/engine-protocol.md): Run an engine in another process, on another machine, or in another language. ## Blog - [e2e and Expo: iOS and Android tests on every pull request, with no Mac in CI](https://e2e.com/blog/e2e-and-expo.md): Run e2e's iOS and Android tests on Expo Simulators from a Linux runner. One agent test covers SwiftUI, Jetpack Compose and the web, replays without model calls, and runs on every pull request. - [How Does Agentic Testing Actually Work?](https://e2e.com/blog/how-does-agentic-testing-actually-work.md): Agentic testing lets AI agents test your app. See how e2e keeps the agent on track with code checkpoints, has a separate judge decide pass or fail, mixes in deterministic locators, and replays cached steps without calling the model. - [What's new in e2e 0.23](https://e2e.com/blog/e2e-0-23.md): e2e 0.23 includes agent steps that run on your Claude Code login, real iOS and Android devices on BrowserStack, e2e doctor, MCP test runs, and an engine protocol. - [TesterArmy is now e2e. Announcing our $8 million seed round.](https://e2e.com/blog/seed.md): Announcing our new brand identity and $8M seed funding. - [Agentic Mobile Testing With e2e and agent-device](https://e2e.com/blog/agentic-mobile-testing-with-e2e-and-agent-device.md): See how e2e uses agent-device for AI-driven iOS and Android tests, combines exact assertions with agent actions, and replays cached steps without model calls. - [Introducing e2e: open source agentic testing for web, iOS, and Android](https://e2e.com/blog/introducing-e2e.md): e2e is an open source TypeScript testing framework that combines Playwright-style locators and assertions with agent steps like agent.act(). The same tests run on web, iOS, and Android, agent steps run on the AI model or subscription you already pay for, and passing agent steps replay from a cache without calling the model. - [TesterArmy raises $1.2M to build the next generation of software testing](https://e2e.com/blog/pre-seed.md): With $1.2M in new funding, we're expanding TesterArmy and building an open-source AI testing framework for humans and agents. ## Examples - [e2e with Vite](https://e2e.com/examples/with-vite): React with Vite, tested in Chromium. Code: https://github.com/tester-army/e2e/tree/main/examples/with-vite - [e2e with Next.js](https://e2e.com/examples/with-next): Next.js App Router, started by the runner and tested in Chromium. Code: https://github.com/tester-army/e2e/tree/main/examples/with-next - [e2e with Astro](https://e2e.com/examples/with-astro): An Astro page with no UI framework, started by the runner and tested in Chromium. Code: https://github.com/tester-army/e2e/tree/main/examples/with-astro - [e2e with Angular](https://e2e.com/examples/with-angular): A standalone Angular component, started by the runner and tested in Chromium. Code: https://github.com/tester-army/e2e/tree/main/examples/with-angular - [e2e with Expo](https://e2e.com/examples/with-expo): React Native with Expo, tested on web, iOS, and Android. Code: https://github.com/tester-army/e2e/tree/main/examples/with-expo - [e2e with SwiftUI](https://e2e.com/examples/with-swiftui): A native iOS app, tested on an iPhone simulator. Code: https://github.com/tester-army/e2e/tree/main/examples/with-swiftui - [e2e with Jetpack Compose](https://e2e.com/examples/with-compose): A native Android app, tested on an emulator. Code: https://github.com/tester-army/e2e/tree/main/examples/with-compose - [e2e with Kotlin Multiplatform](https://e2e.com/examples/with-kotlin-multiplatform): One Compose Multiplatform screen, tested on Android and iOS. Code: https://github.com/tester-army/e2e/tree/main/examples/with-kotlin-multiplatform - [e2e with Flutter](https://e2e.com/examples/with-flutter): A Flutter app, tested on Android and iOS. Code: https://github.com/tester-army/e2e/tree/main/examples/with-flutter - [e2e with .NET MAUI](https://e2e.com/examples/with-maui): A .NET MAUI app, tested on Android and iOS. Code: https://github.com/tester-army/e2e/tree/main/examples/with-maui - [Testing an AI chat with e2e](https://e2e.com/examples/ai-chat): A support chat answering with a real model through the AI SDK and AI Gateway, checked by what each reply means. Code: https://github.com/tester-army/e2e-ai-chat - [Testing Stripe payments with e2e](https://e2e.com/examples/stripe): Stripe hosted checkout in a sandbox, with paid, declined, and 3D Secure cards. Code: https://github.com/tester-army/e2e-stripe - [Testing PayPal payments with e2e](https://e2e.com/examples/paypal): PayPal redirect checkout in the sandbox, paid with a sandbox buyer or a card. Code: https://github.com/tester-army/e2e-paypal - [Testing Paddle payments with e2e](https://e2e.com/examples/paddle): Paddle overlay checkout in a sandbox, with successful, declined, and 3D Secure cards. Code: https://github.com/tester-army/e2e-paddle - [Testing RevenueCat in-app purchases with e2e](https://e2e.com/examples/revenuecat): Real purchases through the RevenueCat paywall and Test Store in an Expo app, on iOS and Android. Code: https://github.com/tester-army/e2e-revenuecat - [Testing Clerk sign-in with e2e](https://e2e.com/examples/clerk): Sign-in on Clerk hosted pages with a password, an email code, and Google, plus sign-up and sign-out. Code: https://github.com/tester-army/e2e-clerk - [Testing iframes with e2e](https://e2e.com/examples/iframes): A card checkout built from nested cross-origin iframes, like a hosted payment form. Code: https://github.com/tester-army/e2e-iframes - [Testing a booking calendar across time zones with e2e](https://e2e.com/examples/calendar): A date picker and a time list in a Next.js booking card, booked by the same tests as a visitor in London and one in New York. Code: https://github.com/tester-army/e2e-calendar - [Testing an Expo onboarding with e2e](https://e2e.com/examples/onboarding): An email code the agent reads from a local Mailpit inbox, then the OS notification prompt, in an Expo app on iOS and Android. Code: https://github.com/tester-army/e2e-onboarding - [Testing Shopify checkout with e2e](https://e2e.com/examples/shopify): A Next.js storefront that sends shoppers to Shopify's own checkout in a dev store, with paid, declined, and discounted checkouts each checked through the Admin API. Code: https://github.com/tester-army/e2e-shopify - [Testing a site in three languages with e2e](https://e2e.com/examples/i18n): A Nuxt contact form in English, German, and Spanish, with tests written once in English and each agent step handed to a persona who reads that language. Code: https://github.com/tester-army/e2e-i18n - [Testing file uploads with e2e](https://e2e.com/examples/file-upload): Image uploads from a Next.js page to a private Vercel Blob store: picking and dropping a file, refusing the wrong one, and a download checked byte for byte. Code: https://github.com/tester-army/e2e-file-upload - [Testing location in an Expo app with e2e](https://e2e.com/examples/location): The permission prompt, a moving device, going offline on Android, and turning location back on in Settings, in an Expo app on iOS and Android. Code: https://github.com/tester-army/e2e-location - [Testing Face ID and fingerprint unlock with e2e](https://e2e.com/examples/biometrics): An Expo lock screen on iOS and Android: Face ID and fingerprint matches and misses, the PIN fallback, and relocking when the app goes to the background. Code: https://github.com/tester-army/e2e-biometrics - [Testing deep links in an Expo app with e2e](https://e2e.com/examples/deep-links): Order links opened from a cold start and while the app runs, an unknown order, and a link to no screen, in an Expo app on iOS and Android. Code: https://github.com/tester-army/e2e-deep-links - [Running e2e in GitHub Actions](https://e2e.com/examples/github-actions): A Next.js app whose locator and agent tests run on every pull request in GitHub Actions, with the report uploaded as an artifact. Code: https://github.com/tester-army/e2e-github-actions - [Running e2e in GitLab CI/CD](https://e2e.com/examples/gitlab-ci): A Next.js app whose locator and agent tests run in every merge request in GitLab CI/CD, with JUnit results in the merge request. Code: https://gitlab.com/e2e_inc/e2e-gitlab-ci - [Testing in smol machines with e2e](https://e2e.com/examples/smolmachines): Each test attempt runs in its own branch of a smol machines microVM, with its own copy of the running app and its data. Code: https://github.com/smol-machines/e2e-smolmachines - [Testing in KERNEL cloud browsers with e2e](https://e2e.com/examples/kernel): Agent steps and locator assertions against a live docs site in a KERNEL cloud browser, with a session replay of each failed test. Code: https://github.com/kernel/cookbooks/tree/main/integrations/e2e-kernel - [Testing iOS and Android apps on Limrun with e2e](https://e2e.com/examples/limrun): The same greeting-form tests on hosted iOS and Android devices, with both apps built remotely on Limrun. Code: https://github.com/limrun-inc/testerarmy-e2e-limrun - [Testing an Expo app on Expo Simulators with e2e](https://e2e.com/examples/expo-simulators): An Expo UI greeting form tested on hosted iOS simulators and Android emulators, in Expo Workflows on every pull request, and on web. Code: https://github.com/expo/examples/tree/master/with-e2e - [Testing Pipedash's App Store screenshot editor with e2e](https://e2e.com/examples/pipedash): The Next.js editor that builds Pipedash's iPhone and iPad App Store screenshots, tested in Google Chrome. Code: https://github.com/hcavarsan/pipedash/tree/476371c441fc098f1b800d5317a5cffe3aa55ffd/ios/app-store-screenshots - [Testing the Wraps dashboard with e2e](https://e2e.com/examples/wraps): Sign-up, invitations, contacts, API keys, and plan gating in the Wraps Next.js dashboard, with agent steps on AI Gateway. Code: https://github.com/wraps-team/wraps/tree/7642269838ae3d5dfec641c4338e072305c2f8f7/apps/e2e - [Testing AgenticX's admin console with e2e](https://e2e.com/examples/agenticx): Webhook settings in AgenticX's Next.js admin console, with a Chinese UI, driven by agent steps on any OpenAI-compatible model and replayed from the cache. Code: https://github.com/DemonDamon/AgenticX/tree/f3e592161a41d18b4f3fcd910a2e85d7dcfa102d/enterprise/e2e - [Testing Module Federation in Re.Pack with e2e](https://e2e.com/examples/repack): A React Native host app that loads mini apps through Module Federation 2 with Re.Pack, smoke-tested on iOS and Android. Code: https://github.com/callstack/repack/tree/171e3ec6e8011db0a756d19e1d806d512982c93c/apps/tester-federation-v2 - [Testing Maple's web app on PR previews with e2e](https://e2e.com/examples/maple): Alert rules in Maple's React app, tested with locators against each pull request's preview deployment, signed in with a single-use Clerk ticket. Code: https://github.com/MapleTechLabs/maple/tree/f197a70082594ffccd31c02468a4bf9fcd9c7b81/apps/web/e2e - [Testing BikeControl's store screenshot editor with e2e](https://e2e.com/examples/bikecontrol): The Next.js editor that frames BikeControl's App Store, Google Play, and Microsoft Store screenshots, tested in Google Chrome. Code: https://github.com/OpenBikeControl/bikecontrol/tree/e126b26f1f2fe3230e7c02a09f90936a6acc873d/store_screenshots - [Calling an app's tools from tests with Appduct and e2e](https://e2e.com/examples/appduct): The appduct fixture calls an app's own tools over MCP from tests and from agent steps, on web, iOS, and Android. Code: https://github.com/callstackincubator/appduct/tree/be5e37afb5457bac106ade3de71bbbc2309db224/packages/e2e - [Testing in Notte cloud browsers with e2e](https://e2e.com/examples/notte): Each test attempt runs in its own Notte cloud browser, through a browser provider for e2e's web engine. Code: https://github.com/nottelabs/notte/tree/704dcf9d4ce534955937cde8e557b302336394d3/examples/e2e - [Reporting e2e results to Testomat.io](https://e2e.com/examples/testomatio): A small to-do app tested in Chromium, with every result sent to Testomat.io by its e2e reporter. Code: https://github.com/testomatio/reporter/tree/a7c071014c7e8188e7b0ce2bbcd48f85db627d00/example/e2e - [Testing on physical devices with MobAI and e2e](https://e2e.com/examples/mobai): A MobAI device engine for e2e: tests on physical iPhones and Android phones, simulators, emulators, and device farms, with results in MobAI's dashboard. Code: https://github.com/MobAI-App/mobai-e2e/tree/c906837b3e332428417c97a070582623dfdb6f2a - [Testing Firmowid's invoicing with e2e](https://e2e.com/examples/firmowid): An invoice round trip in Firmowid, a Phoenix LiveView app with a Polish UI, driven by agent steps through OpenRouter. Code: https://github.com/Alergeek-Ventures/firmowid/tree/c329a8e063e7bd8f96ec978c395fa0e40db5a376/e2e - [Testing Clerk's iOS SDK with e2e](https://e2e.com/examples/clerk-ios): Sign-in, sign-up, MFA, and organization flows of Clerk's iOS SDK in a SwiftUI host app, on an iOS simulator. Code: https://github.com/clerk/clerk-ios/tree/bcf2c0e2f2fb59611005469a57f46768874f9ed9/e2e-tests - [Testing Clerk's Android SDK with e2e](https://e2e.com/examples/clerk-android): Sign-in, sign-up, MFA, and organization flows of Clerk's Android SDK in a Jetpack Compose host app, on an Android emulator. Code: https://github.com/clerk/clerk-android/tree/50cdece33d8459f73977ffa7c6e18e31429f329a/e2e-tests - [Testing Teak's web app, API, CLI, and MCP server with e2e](https://e2e.com/examples/teak): Journeys across Teak's Next.js web app, REST API, CLI, and MCP server, run against a local stack that needs no secrets. Code: https://github.com/praveenjuge/teak/tree/3c866919c4a28b7a1185f57bd244b32ce6ca7605/packages/tests - [Testing the Cezar cockpit with e2e](https://e2e.com/examples/cezar): Cezar's React cockpit, smoke-tested by e2e as a verification step that an agent's task cannot finish without. Code: https://github.com/open-mercato/cezar/tree/2c5cf2a5793c7abd72decb062dfa35ca8f6d2d18/tests - [Testing OTA updates in hot-updater with e2e](https://e2e.com/examples/hot-updater): Deterministic OTA update and recovery scenarios for a React Native app on iOS and Android, with no model. Code: https://github.com/gronxb/hot-updater/tree/e9f1c1f791f7654723b74f35108ca120e402ebaf/e2e/mobile - [Testing Actor Kit's real-time Studio with e2e](https://e2e.com/examples/actor-kit): Multi-client and multi-tab scenarios across Durable Object restarts and hibernation, in a TanStack Start app on Cloudflare Workers. Code: https://github.com/actor-kit/actor-kit/tree/91137ae9fc7232ad5ac3d9c4d3e830f78135269e/tests/e2e-agent - [Testing the Quivr search demo with e2e](https://e2e.com/examples/quivr): Sign-in and feed journeys in Quivr's React search demo, driven by agent steps. Code: https://github.com/The-Vibe-Company/quivr/tree/ec80407fe05828729efb00665d1e026a0a5b1cb2/quivr-search/journeys - [Testing a Next.js ecommerce store with e2e](https://e2e.com/examples/nextjs-ecommerce-template): Catalog, search, bag, wishlist, account, and admin tests for a Next.js store, with agent steps run through the Claude CLI. Code: https://github.com/MarcosCamara01/ecommerce-template/tree/a99e3c07c7a5c6d920ddb8203712e619fe19957d - [Testing Radon's public site with e2e](https://e2e.com/examples/radon): Every public route, navigation, theme, and copy action on Radon's Next.js site, at desktop and mobile sizes, with locators only. Code: https://github.com/joemccann/radon/tree/e3b7788145d5c9e19fe71d5d926b5638b1a7f4a9/site/tester-army - [Testing react-native-pager-view with e2e](https://e2e.com/examples/react-native-pager-view): Swipe, nesting, and issue regression tests for the pager's example app on iOS simulators and Android emulators, spread across a device pool. Code: https://github.com/callstack/react-native-pager-view/tree/d7f2b522be7960170c92fdd0ff1652b4cea28738/e2e - [Testing Xum with agent-driven user stories and e2e](https://e2e.com/examples/xum): User stories an agent drives through Xum's React UI, in the browser and in its Electron app, with exact checks on the outcome. Code: https://github.com/coder/xum/tree/ad5bc01a0cb23e7f457fef0d9355b13670d5c034/tests/stories - [Testing the Backend.AI WebUI with e2e](https://e2e.com/examples/backend-ai-webui): Sessions, environments, admin settings, and plugins in the Backend.AI WebUI, with agent steps on an OpenAI-compatible model. Code: https://github.com/lablup/backend.ai-webui/tree/8ec417a9c63c7be3e345b1ba50ffb6b8f040ee99/e2e-agent - [Testing Avalanche Builders Hub with e2e](https://e2e.com/examples/builders-hub): Explorer, Academy, docs, and Console tests at desktop and phone sizes, API tests for the MCP endpoint, and in-app browser tests. Code: https://github.com/ava-labs/builders-hub/tree/e422245353468638c94cd10ba4198124e2f7366a/tests/e2e - [Testing the Webiny admin with e2e](https://e2e.com/examples/webiny): Admin tests that mix locators, agent steps, and REST and GraphQL calls, with agent steps replayed in CI from a committed cache. Code: https://github.com/webiny/webiny-js/tree/296a29edad93362cdf241d093096927d5f4eda76/e2e - [Testing SolStatus with e2e](https://e2e.com/examples/solstatus): Dashboard, monitor, API, CLI, and library tests against SolStatus's real development stack, a TanStack Start app on Cloudflare Workers. Code: https://github.com/jonbeckman/solstatus/tree/1cd47901393001f9da8b3be783bb5e824a6939a5/tests - [Migrating a Playwright suite to e2e](https://e2e.com/examples/playwright-migration): 302 API and UI scenarios ported from Playwright for a React training shop, with agent steps on Claude Sonnet, measured costs, and planted faults. Code: https://github.com/slawekradzyminski/tests-e2e/tree/30ca7dfa8a4add7288256e7b7739a64be8899d0f ## Optional - [Source on GitHub](https://github.com/tester-army/e2e): The e2e framework, Apache-2.0 - [Blog RSS feed](https://e2e.com/blog/feed.xml): New posts - [Discord](https://tester.army/discord): The community