maestro vs midscene

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.

#55th of 34 in Code review and testing

maestro

YAML-based UI and end-to-end test framework for Android, iOS and web

#66th of 34 in Code review and testing

midscene

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

Verdict

Both score 87; maestro ranks higher on stars, 16,381 to 15,585. Of the 4 score parts we measure for both, maestro leads on 2, midscene on 1 and 1 is even.

  • Adoptionmaestro leads by 5 points, 79 to 74.
  • FreshnessEven at 100.
  • Maintenancemidscene leads by 10 points, 93 to 83.
  • Agent-readymaestro leads by 15 points, 85 to 70: a wide gap.

Pick maestro if you are

Mobile and web developers and QA engineers automating UI tests

  • Single binary install; no drivers or SDK needed in the app under test
  • One YAML syntax covers Android, iOS, web, React Native, Flutter and hybrid apps

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
maestro vs midscene: score parts and facts
What we comparemaestromidscene
Score parts, out of 100
Adoption79, popular74, popular
MomentumNot scored for this kindNot scored for this kind
Freshness100, active100, active
Maintenance83, healthy93, healthy
Agent-ready85, ready70, partly
Facts from GitHub and the README
Stars16.4k15.6k
LicenseApache-2.0 (permissive)MIT (permissive)
Last commitNov 2026Nov 2026
Last releaseNov 2026Nov 2026
LanguageKotlinTypeScript
DockerNoNo
GPUNot neededNot stated
arm64 or Apple SiliconNot statedMentioned

maestro

Maestro runs UI and end-to-end tests written as flat YAML command lists (launchApp, tapOn, assertVisible) against Android, iOS and web apps, driving them through the platform accessibility layer. It installs as a single CLI binary and also ships an MCP server (`maestro mcp`) so coding agents can control a live device and write flows. Flows run on emulators, simulators, browsers and physical Android devices.

Who it is for: Mobile and web developers and QA engineers automating UI tests

Strengths

  • Single binary install; no drivers or SDK needed in the app under test
  • One YAML syntax covers Android, iOS, web, React Native, Flutter and hybrid apps
  • Built-in MCP server in the CLI works with Claude Code, Cursor, Codex and others
  • Automatic waiting and flakiness tolerance remove manual sleep calls

Weaknesses

  • Physical iOS devices are not supported
  • Requires Java 17 or higher on the host
  • Maestro Studio IDE is free but closed source
  • Parallel execution at scale needs paid Maestro Cloud
  • no GPU
  • Needs Java 17+

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

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.