#66th of 34 in Code review and testing
midscene
Vision-based E2E testing in natural language for web, mobile and desktop
- Stars
- 15.6k
- License
- MIT
- Last commit
- Nov 2026
- Last release
- Nov 2026
- Language
- TypeScript
12,627 on 21 Apr 202615,585 on 10 Nov 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
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
Ranked among open-source alternatives to CodeRabbit (#6 of 10).
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
What it needs
- 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
Quick answers
Is midscene open source?
Yes. Its code is on GitHub under the MIT license.
Head to head
Also in Code review and testing
See all 34| Rank | Project | Score |
|---|---|---|
| 1 | playwrightCross-browser automation and end-to-end test framework for Chromium, Firefox and WebKit | 94 out of 100 |
| 2 | nxMonorepo build system with task caching, affected-only runs and CI integration | 92 out of 100 |
| 3 | open-code-reviewGo CLI that reviews Git diffs with an LLM agent and line-level comments | 91 out of 100 |
| #4 | bendDependent-typed language where AI-written code must prove rules in LAWS.bend | 87 out of 100 |
| #5 | maestroYAML-based UI and end-to-end test framework for Android, iOS and web | 87 out of 100 |