midscene vs e2e

Two of the top projects in Code review and testing, side by side: who leads on each score part and who each one suits, then setup, license, activity and what each review found.

#66th of 43 in Code review and testing

midscene

Vision-based E2E testing in natural language for web, mobile and desktop

#1010th of 43 in Code review and testing

e2e

AI-driven end-to-end testing framework for web and mobile apps

Verdict

midscene ranks higher, 88 to 85. Of the 4 score parts we measure for both, midscene leads on 2, e2e on 1 and 1 is even.

  • Adoptionmidscene leads by 4 points, 78 to 74: close to even.
  • FreshnessEven at 100.
  • Maintenancee2e leads by 3 points, 95 to 92: close to even.
  • Agent-readymidscene leads by 25 points, 70 to 45: a wide gap.

Pick midscene if you are

QA and frontend engineers writing E2E tests for web, mobile or desktop apps

  • Locates elements from screenshots, so canvas, icon-only buttons and cross-origin iframes need no selectors
  • Same agent API across web, Android, iOS, HarmonyOS and desktop

Pick e2e if you are

Teams writing end-to-end tests for web and mobile apps in TypeScript

  • Recorded agent actions replay with no model calls until the app changes
  • Tests without agent steps need no model at all
midscene vs e2e: score parts and facts
What we comparemidscenee2e
Score parts, out of 100
Adoption78, popular74, popular
Freshness100, active100, active
Maintenance92, healthy95, healthy
Agent-ready70, partly45, minimal
Facts from GitHub and the README
Stars15.6k13.8k
LicenseMIT (permissive)Apache-2.0 (permissive)
Last commitNov 2026Nov 2026
Last releaseNov 2026Nov 2026
LanguageTypeScriptTypeScript
DockerNoNo
GPUNot statedNot needed
arm64 or Apple SiliconMentionedNot stated

midscene

Midscene.js drives web, Android, iOS, HarmonyOS and desktop UIs from screenshots using a vision model, so tests are written as natural-language steps and assertions instead of selectors. Tests can be YAML cases run by Midscene Test (@midscene/test) or agent calls such as aiAct and aiAssert inside Playwright, Puppeteer, Vitest or Rstest. It produces HTML reports with screenshots and the model's decisions.

Who it is for: QA and frontend engineers writing E2E tests for web, mobile or desktop apps

Strengths

  • Locates elements from screenshots, so canvas, icon-only buttons and cross-origin iframes need no selectors
  • Same agent API across web, Android, iOS, HarmonyOS and desktop
  • Step-level HTML reports with screenshots, plus summary.json for scripts and AI agents
  • Works with GPT, Qwen, Doubao, DeepSeek, Gemini, Kimi, including self-hostable models

Weaknesses

  • Requires a configured vision-capable model; runs depend on model API calls or self-hosting
  • Python and Java SDKs are community projects, not part of the main repo
  • Assertions are model judgments, so results can vary between runs and models
  • iOS needs WebDriverAgent and Android needs ADB, adding device setup
  • Needs Vision-language model API or self-hosted model, Playwright or Puppeteer (web), ADB (Android), WebDriverAgent (iOS), HDC (HarmonyOS)
  • Models: GPT, Qwen, Doubao Seed, DeepSeek, Gemini

e2e

TypeScript test runner where an agent carries out natural-language goals in the app, and ordinary locators and assertions verify the result in the same test. Agent steps that a later assertion checks are recorded and replayed on the next run without model calls until the app changes. Web runs use Playwright (Chromium, Firefox, WebKit); mobile runs use iOS simulators and Android emulators.

Who it is for: Teams writing end-to-end tests for web and mobile apps in TypeScript

Strengths

  • Recorded agent actions replay with no model calls until the app changes
  • Tests without agent steps need no model at all
  • Web via Playwright; iOS and Android via simulators and emulators
  • Examples for Next.js, Vite, Astro, Expo, SwiftUI, Compose, Flutter

Weaknesses

  • APIs and config can still change between minor releases before 1.0
  • CLI sends anonymous telemetry by default; opt-out required
  • Agent steps need a model subscription, API key, or local model
  • Hosted browser and simulator options depend on third-party services
  • no GPU
  • Needs Node.js, Playwright, agent-device, iOS simulator or Android emulator (mobile)
  • Models: Bring your own subscription, API key, or local model

More in Code review and testing

Building with these?

We help teams pick an open-source AI stack and run it in production. Client work never changes a rank.