BugsQA compared five mobile automation testing frameworks on public usage data and found that Appium’s npm downloads grew 2.7 times in under a year, from 2.0 million a month to 5.5 million, while Detox grew 1.4 times. Maestro, the fastest-growing newcomer, reached 16,277 GitHub stars in four and a half years. Our conclusion: Appium stays the default for one iOS and Android suite, and Maestro is its strongest challenger.
Teams choosing a framework today get vendor lists of mobile automation testing tools. Every page we found ranking for this topic is written by a company selling a testing tool or cloud, and none publishes the numbers behind its ranking. So we pulled them ourselves: downloads from the npm registry, stars, commits and releases from GitHub, and question counts from Stack Overflow, all on 31 October 2026.
We use these frameworks in our mobile test automation work, so this post is also how we explain our framework choice to clients. It covers five findings, which framework fits which app, Appium vs Maestro, how we pick one, our method and every dataset, free to download.
Five findings about mobile automation testing frameworks in 2026
The five findings below compare Appium, Maestro, Detox, Espresso and XCUITest, plus Patrol for Flutter, on usage, community size, development activity and where testers ask for help.
Finding 1: Appium downloads grew 2.7 times in 11 months
Appium’s npm package went from 2.0 million downloads in November 2025 to 5.5 million in September 2026, and passed 45.5 million downloads in the 12 months to October. Its two main drivers grew at the same pace: the Android UiAutomator2 driver from 1.6 million to 4.3 million a month, and the iOS XCUITest driver from 1.5 million to 4.0 million.
Monthly npm downloads of the appium package, November 2025 to October 2026
- 2.0MNov 25
- 2.1MDec
- 2.6MJan 26
- 2.8MFeb
- 3.9MMar
- 3.6MApr
- 4.1MMay
- 4.5MJun
- 4.7MJul
- 5.3MAug
- 5.5MSep
- 4.6MOct*
Monthly npm downloads, November 2025 vs September 2026
- appium2.0M5.5M
- appium-uiautomator2-driver1.6M4.3M
- appium-xcuitest-driver1.5M4.0M
- detox1.5M2.1M
November 2025September 2026
Why it happens. Appium 3 shipped in August 2025 and the project released 24 versions of its core package in the last 12 months, with Appium 4 already in beta. Most of the growth also tracks CI/CD: npm counts a download every time a pipeline installs a package, so more teams running mobile tests on every build means more downloads.
The caveat. Downloads are not users. A team running 50 CI builds a day counts 50 times, and npm counts don’t include Espresso, XCUITest or Maestro, which aren’t installed from npm.
What it means for you: if you pick Appium, you pick the framework with the most momentum and the largest pool of engineers who know it. That matters when you hire, outsource or hand the suite to a new team.
Finding 2: Appium overtook Detox in yearly downloads for the first time in 2025
In the Detox vs Appium race, Detox, the React Native framework built by Wix, had more npm downloads than Appium every year from 2021 to 2024. In 2025 Appium passed it, with 20.2 million downloads against Detox’s 16.1 million. Appium’s downloads grew 4.7 times between 2021 and 2025; Detox’s grew 3.0 times.
Yearly npm downloads: appium vs detox, 2021 to 2025
- 20214.3M5.3M
- 20226.1M6.9M
- 20238.1M9.5M
- 202411.6M12.0M
- 202520.2M16.1M
appiumdetox
Why it happens. Detox only tests React Native apps, so its growth follows React Native. Appium tests native iOS, native Android, React Native, Flutter and hybrid apps, so it gains from all of them.
The caveat. Detox’s monthly downloads peaked at 2.6 million in July 2026 and fell to 1.7 million in October, but one quarter isn’t a trend, and some React Native teams moved to Maestro, which npm can’t count.
What it means for you: Detox is still a strong choice for a React Native-only app with a JavaScript team. If your roadmap includes a native or Flutter app, Appium or Maestro covers both without a second framework.
Finding 3: Maestro gathered 16,277 GitHub stars in four and a half years
Maestro, launched by mobile.dev in March 2022, reached 16,277 GitHub stars by October 2026. Appium took 13 years to reach 22,168. Maestro’s command-line tool was downloaded 4.15 million times across 19 releases in the last 12 months.
GitHub stars per framework, 31 October 2026
- Appium (since 2013)22,168
- Maestro (since 2022)16,277
- Detox (since 2016)12,050
- Patrol (since 2022)1,455
- AndroidX Test / Espresso (since 2015)1,230
Why it happens. Maestro writes tests as short YAML flows instead of code, waits for the app automatically and runs on iOS and Android, so a team can write its first test in an afternoon. That fits teams without a dedicated automation engineer.
The caveat. Stars measure interest, not production use. Maestro also has 445 open issues and pull requests against Appium’s 53, and its cloud service is a paid product, so check what your CI setup needs before you commit.
What it means for you: Maestro is worth a trial for smoke tests and simple user flows, especially in React Native and Flutter apps. For complex flows with deep native logic, check that Maestro supports every interaction you need before you rewrite an Appium suite.
Finding 4: Detox made 86 commits in a year; Appium’s core made 1,020
Development activity differs widely between the frameworks. In the 12 months to October 2026, Patrol (Flutter) received 1,464 commits, Appium’s core 1,020, its XCUITest driver 549 and Maestro 350. Detox received 86, and its last release was 20.51.3 on 30 May 2026, five months before our check.
Commits to each framework's main repository, November 2025 to October 2026
- Patrol1,464
- Appium core1,020
- Appium XCUITest driver549
- Maestro350
- Appium UiAutomator2 driver185
- Detox86
- AndroidX Test / Espresso63
Why it happens. Appium splits its work across a core and separate drivers, each with its own release cycle, so its total activity is even higher than the core count shows. Detox is maintained mostly by one company for its own React Native needs.
The caveat. Fewer commits can mean a mature, stable project, not an abandoned one. Espresso’s GitHub repository (AndroidX Test) shows no GitHub release since June 2024 because Google ships Espresso through its own Maven repository, and XCUITest has no public repository at all because Apple ships it inside Xcode.
What it means for you: a framework’s release pace is a maintenance cost. Every new iOS and Android version needs framework support, so check when the framework last shipped a release before you build a large suite on it.
Finding 5: Stack Overflow received 6 Appium questions in a year
The appium tag on Stack Overflow holds 7,673 questions in total, more than any other mobile testing tag. In the 12 months to October 2026, only 6 new Appium questions were asked. Detox, XCUITest and Maestro each got 1, and Espresso got 2.
Stack Overflow questions per tag, all time
- appium7,673
- android-espresso3,327
- xcuitest675
- detox612
- flutter-integration-test133
- maestro21
Why it happens. Developers now ask AI assistants, GitHub issues and Discord or Slack communities instead of Stack Overflow, so the old question archive is still useful but new answers come from elsewhere.
The caveat. This is a drop across all of Stack Overflow, not a sign that these frameworks lost users. The npm data in Finding 1 shows the opposite.
What it means for you: support for your framework now lives in its GitHub issues and community channels. Before you choose, open the issue tracker and check how fast maintainers answer.
What the data means for each type of team
| Your team | What changed in 2026 | What to do first |
|---|---|---|
| Native iOS and Android apps, one QA team | Appium usage more than doubled, Appium 4 is in beta | Build shared flows in Appium, keep Espresso and XCUITest for platform-only checks |
| React Native app, JavaScript developers | Detox growth slowed, Maestro grew fast | Keep Detox if it works; trial Maestro for new smoke tests |
| Flutter app | Patrol had the most commits of any project we tracked | Use Patrol or Flutter’s integration_test for widget-level flows |
| No automation engineer yet | Maestro made YAML tests mainstream | Start with 5 to 10 Maestro smoke flows on your critical paths |
| Large existing Appium suite | Appium 4 beta and fast driver releases | Pin driver versions and test upgrades before each OS release |
Which mobile automation testing framework fits which app?
The right mobile automation testing framework depends on how your app is built and who writes the tests: Espresso for native Android, XCUITest for native iOS, Detox for React Native, Patrol for Flutter, Appium for one suite across iOS and Android, and Maestro for fast, low-code flows.
| Framework | Platforms | Test language | Best for | Watch out for |
|---|---|---|---|---|
| Appium | iOS, Android, hybrid, Flutter | Java, JavaScript, Python, C#, Ruby | One suite for both platforms, large teams | Slower runs, more setup |
| Maestro | iOS, Android, React Native, Flutter | YAML | Fast smoke tests, teams without coders | Complex native interactions |
| Detox | React Native | JavaScript, TypeScript | React Native apps with JS teams | React Native only |
| Espresso | Android | Kotlin, Java | Fast, stable native Android tests | Android only, needs app code access |
| XCUITest | iOS | Swift, Objective-C | Native iOS tests inside Xcode | iOS only, macOS required |
| Patrol | Flutter (iOS, Android) | Dart | Flutter apps that touch native dialogs | Flutter only |
Espresso and XCUITest run inside the platform’s own tooling, so they are the fastest and most stable option on a single platform. The cost is two separate suites, in two languages, for one app.
Appium vs Maestro: which should you choose?
Appium and Maestro both test iOS and Android apps, but Appium is a code framework built on the WebDriver standard and Maestro is a YAML tool built for speed of writing. Pick Appium when you need full control, complex native flows or an existing test codebase in Java, Python or JavaScript. Pick Maestro when you want smoke tests running this week without an automation engineer.
- Setup: Appium needs a server, drivers for each platform and a client library; Maestro installs one command-line tool.
- Writing tests: Appium tests are code with explicit waits; Maestro flows are a few lines of YAML that wait for the screen automatically.
- Flexibility: Appium reaches deeper into native APIs, gestures and device settings, which matters for payments, permissions and push notifications.
- Cost: both are free and open source under the Apache 2.0 licence; Maestro’s hosted cloud for running tests is a paid service.
Many teams use both: Maestro for quick smoke flows on every pull request and Appium for the full regression suite before a release. Our post on native iOS and Android bugs in cross-platform apps shows which bugs each kind of test catches.
Espresso vs XCUITest: do you need both?
Espresso vs XCUITest is less a choice than a split: they are the native frameworks from Google and Apple, and a native app on both platforms needs both if you want the fastest, most stable tests on each. Espresso tests Android apps in Kotlin or Java; XCUITest tests iOS apps in Swift inside Xcode.
Most cross-platform teams don’t run both as their main suite. They keep a small set of native tests for platform-only features, such as Android back-button behaviour or iOS permission dialogs, and run shared user flows in Appium or Maestro.
How does BugsQA pick a mobile automation framework for a client?
BugsQA picks a mobile automation framework from the app’s tech stack, the flows that break most often and who will maintain the tests after us. We start from our manual test cases, so we automate the flows we already know matter.
- One codebase for iOS and Android: we usually build the shared regression suite in Appium, with its XCUITest and UiAutomator2 drivers.
- React Native or Flutter app: we look at Detox, Maestro or Patrol first, because they understand the framework’s own rendering.
- A team without automation experience: we start with Maestro smoke flows your developers can read and edit.
- Platform-only features: we add a few Espresso or XCUITest tests where shared tools can’t reach.
Every test lives in your repository and runs in your CI/CD pipeline, so your team owns the suite from the first commit. Our QA automation services page lists what we set up and what it costs.
Not sure which framework fits your app? Send us your stack and your top five user flows, and we’ll tell you which framework we’d use and why. Get a mobile automation plan.
How we compared the mobile automation testing frameworks
BugsQA collected every number in this post from public sources on 31 October 2026, and we didn’t rank the frameworks by our own preference.
- npm downloads: the npm registry’s downloads API, daily counts summed per month and per year for appium, detox, appium-uiautomator2-driver, appium-xcuitest-driver, webdriverio and @wdio/appium-service. October 2026 is counted to the 30th.
- GitHub activity: the GitHub API for stars, forks, open issues and pull requests, contributors, releases and commits since 1 November 2025. For Appium we counted core releases (tags starting with “appium@”) separately from driver releases.
- Maestro downloads: the download counts of Maestro’s GitHub release files for the 19 releases since 1 November 2025.
- Stack Overflow: the Stack Exchange API for each tag’s total questions and questions asked since 1 November 2025.
The data is free to reuse under the CC BY 4.0 licence: credit BugsQA and link to this page.
Raw data: every dataset in this report
- GitHub activity per framework
- Monthly npm downloads
- Yearly npm downloads, Appium vs Detox
- Stack Overflow questions per tag
GitHub activity per framework, November 2025 to October 2026
| Project | Stars | Forks | Contributors | Commits (12 months) | Releases (12 months) | Latest release | Licence |
|---|---|---|---|---|---|---|---|
| Appium | 22,168 | 6,305 | 429 | 1,020 | 24 (core) | 2026-10-27 | Apache-2.0 |
| Maestro | 16,277 | 1,011 | 125 | 350 | 19 | 2026-10-26 | Apache-2.0 |
| Detox | 12,050 | 1,904 | 281 | 86 | 11 | 2026-05-30 | MIT |
| Patrol | 1,455 | 246 | 109 | 1,464 | 69 | 2026-09-22 | Apache-2.0 |
| AndroidX Test (Espresso) | 1,230 | 344 | 48 | 63 | 0 on GitHub | 2024-06-26 on GitHub | Apache-2.0 |
| Appium XCUITest driver | 906 | 474 | 114 | 549 | 221 | 2026-10-31 | Apache-2.0 |
| Appium UiAutomator2 driver | 893 | 233 | 69 | 185 | 75 | 2026-10-28 | Apache-2.0 |
Source: GitHub API, pulled by BugsQA on 31 October 2026. Contributors include anonymous contributors.
Monthly npm downloads, November 2025 to October 2026
| Month | appium | detox | uiautomator2 driver | xcuitest driver |
|---|---|---|---|---|
| Nov 2025 | 2,008,531 | 1,501,935 | 1,601,100 | 1,482,148 |
| Dec 2025 | 2,074,411 | 1,425,339 | 1,610,490 | 1,509,263 |
| Jan 2026 | 2,568,911 | 1,571,521 | 1,928,837 | 1,777,926 |
| Feb 2026 | 2,837,525 | 1,658,445 | 2,215,913 | 2,045,656 |
| Mar 2026 | 3,858,724 | 1,966,499 | 3,019,201 | 2,723,848 |
| Apr 2026 | 3,563,567 | 2,024,735 | 2,881,013 | 2,612,225 |
| May 2026 | 4,064,911 | 2,270,666 | 3,221,607 | 3,036,317 |
| Jun 2026 | 4,486,839 | 2,470,897 | 3,533,704 | 3,389,092 |
| Jul 2026 | 4,676,867 | 2,597,660 | 3,633,346 | 3,441,915 |
| Aug 2026 | 5,305,439 | 2,276,503 | 4,188,197 | 3,932,981 |
| Sep 2026 | 5,509,433 | 2,060,358 | 4,294,557 | 3,965,001 |
| Oct 2026 (to 30th) | 4,587,729 | 1,677,706 | 3,465,924 | 3,168,313 |
Source: npm registry downloads API, pulled by BugsQA on 31 October 2026. The CSV also includes webdriverio and @wdio/appium-service.
Yearly npm downloads, Appium vs Detox, 2021 to 2025
| Year | appium | detox |
|---|---|---|
| 2021 | 4,294,307 | 5,324,888 |
| 2022 | 6,090,001 | 6,927,417 |
| 2023 | 8,132,518 | 9,473,032 |
| 2024 | 11,589,865 | 12,021,720 |
| 2025 | 20,224,781 | 16,079,531 |
Source: npm registry downloads API, pulled by BugsQA on 31 October 2026.
Stack Overflow questions per tag, 2026
| Tag | All-time questions | Questions, Nov 2025 to Oct 2026 |
|---|---|---|
| appium | 7,673 | 6 |
| android-espresso | 3,327 | 2 |
| xcuitest | 675 | 1 |
| detox | 612 | 1 |
| flutter-integration-test | 133 | not counted |
| maestro | 21 | 1 |
Source: Stack Exchange API, pulled by BugsQA on 31 October 2026.
Frequently asked questions
What is the best framework for mobile automation testing?
The best mobile automation testing framework depends on your app: Appium for one suite across iOS and Android, Espresso and XCUITest for the fastest native tests on each platform, Detox for React Native, Patrol for Flutter and Maestro for quick low-code flows. By 2026 usage, Appium is the most widely used, with 45.5 million npm downloads in 12 months.
Is Maestro better than Appium?
Maestro is better than Appium for writing simple tests fast, because a Maestro flow is a few lines of YAML with built-in waiting. Appium is better for complex native flows, deep device control and teams that want tests in a programming language. Many teams run Maestro smoke tests on every pull request and keep Appium for full regression.
Is Maestro automation free?
Maestro’s framework and command-line tool are free and open source under the Apache 2.0 licence, so you can run tests locally and in your own CI at no cost. Running tests on Maestro’s hosted cloud devices is a paid service.
What is the difference between Appium and Selenium?
Appium automates mobile apps on iOS and Android, while Selenium automates web browsers. Both use the WebDriver protocol, so the test code looks similar, and teams that know Selenium usually learn Appium quickly.
Get your mobile regression suite automated
Bring us your app, your stack and the flows your team retests by hand before every release, and we’ll recommend the framework and build the first suite.
BugsQA builds mobile automation testing frameworks into your CI/CD with Appium, Maestro, Detox, Espresso and XCUITest, starting from manual test cases so every test checks something that matters. Plan your mobile test automation.
- mobile
- test automation
- appium
- data report
