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.
midscene
Vision-based E2E testing in natural language for web, mobile and desktop
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
| What we compare | midscene | e2e |
|---|---|---|
| Score parts, out of 100 | ||
| Adoption | 78, popular | 74, popular |
| Freshness | 100, active | 100, active |
| Maintenance | 92, healthy | 95, healthy |
| Agent-ready | 70, partly | 45, minimal |
| Facts from GitHub and the README | ||
| Stars | 15.6k | 13.8k |
| License | MIT (permissive) | Apache-2.0 (permissive) |
| Last commit | Nov 2026 | Nov 2026 |
| Last release | Nov 2026 | Nov 2026 |
| Language | TypeScript | TypeScript |
| Docker | No | No |
| GPU | Not stated | Not needed |
| arm64 or Apple Silicon | Mentioned | Not 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.