Best Alternatives to Detox for React Native App Testing in 2024
Sep 5, 2023
Fed up with Detox? Wondering what’s best for React Native app testing? This article explores what’s wrong with Detox and what alternatives you should consider in 2024.
What is Detox?
Released to GitHub in 2016, Detox is a popular end-to-end testing framework by Wix. It has over 10k stars on GitHub.
Detox allows you to use JavaScript to create a script that represents a user flow inside your React Native application.
Unlike traditional “black box” methods, Detox uses a “grey box” approach to testing. This means you must change your React Native code to use Detox.
What are the problems with Detox?
Despite some success, Detox has failed to become widely adopted by the React Native community.
Common complaints about Detox:
Requires changes to your React Native codebase
It takes a long time to setup
You need to configure your test execution environment
Tests are flaky; they don’t work consistently
Hard to use for non-technical team members
Is there a future for React Native Detox?
It seems not. Detox is becoming less active and less popular with each passing year. This can be seen in the GitHub repo - Detox’s recorder hasn’t been updated in over two years.
The community is thankful to the Detox team for helping mature the ecosystem for React Native testing. However, we believe 2023 is the year to move away from Detox. Let’s explore the alternatives!
Best for startups and agencies: Moropo
Moropo is an end-to-end UI testing service for React Native apps focusing on speed and usability. Using an innovative and unique low-code test creator, Moropo suits teams where not everyone is a developer, such as busy digital agencies and “all hands on deck” startups.
Although Moropo does work with native Android, iOS and Flutter apps, it was initially built for React Native and includes RN-specific optimisations. This includes an Expo integration which allows direct import of build files from EAS and support for Expo Updates deployment for test runs.
Moropo is a relatively new tool to the market. This does mean it takes advantage of the latest technological advances; however, there is also less maturity in the product compared with other offerings.
What are the pros of using Moropo for React Native testing?
Build tests directly in the cloud using Test Creator (no need for XCode or Android Studio)
Simple UI suitable for non-technical team members and dev alike.
Expo EAS integration means you can skip app build waiting times.
Import and export tests using open-source Maestro format.
More cost-effective than enterprise options.
Trigger test runs from GitHub, webhooks or via a schedule.
What are the cons of using Moropo for React Native testing?
No support for real devices.
No integrations to ticket management systems such as ClickUp or Jira.
Conclusion
Moropo’s focus on accessibility for non-developers and QA collaboration make it a good match for small to mid-sized teams. Enterprise users may be frustrated with the lack of product maturity.
Best for large enterprises: Waldo
Founded in 2018, Waldo is the oldest alternative in our comparison. Those extra years have allowed the Waldo team to hone a stable and beautiful product and add many enterprise features.
Bigger-budget enterprise teams will likely benefit from Waldo’s cloud infrastructure which supports SSO and custom service-level agreements for mission-critical apps. But with a typical plan costing $36,000 per year, Waldo is too expensive for smaller teams.
As Waldo’s scripts are closed-source, you won’t be able to add them to your in-house repositories. However, they have a “branches” feature mimicking GitHub-style functionality to help organise your test flows.
Waldo was originally built for just iOS, with Android added later. The offshoot is that test flows must be recorded separately for iOS and Android. For React Native apps with feature parity across both platforms, you’ll need to record each flow twice.
What are the pros of using Waldo for React Native testing?
Sophisticated features such as test version management.
Fun branding and marketing website.
Responsive support team.
Expansive documentation.
Mature and stable product.
What are the cons of using Waldo for React Native testing?
Expensive for the automation plan.
Need to talk to sales to get access to pricing.
You need separate tests for iOS and Android.
No support for real devices.
No Expo integration.
No open-source import or export.
Conclusion
Waldo is worth considering if you’re a large enterprise with lots of iOS and Android-specific functionality. Given the high price for their automation plan, Waldo makes less sense for agencies and startups.
Best for solo developers: Maestro
Maestro is an open-source framework from the team at mobile.dev. With a focus on developer-first support, tests are created using Maestro Studio which runs locally and uses your XCode Simulator or Android Studio Emulator to do the heavy lifting.
This tool works well for solo developers working on hobby projects and smaller apps where simple flow validation is all that is required. The added benefit is it’s free and open source, with community support available via their Slack group.
Maestro Studio requires a command line interface installation, so the tool is unsuitable for non-developers. If you want your UX designer or manual tester to build test flows, then it’s worth looking at Moropo or Waldo instead.
As it’s a community-focused product, there are no paid support plans for Maestro. Larger organisations or teams managing mission-critical mobile apps may want to look at other options if a dedicated issue resolution or service level agreement is required.
What are the pros of using Maestro Studio for React Native testing?
Open-source for running with Android Studio or XCode
Intuitive declarative script format
Cross-platform for iOS and Android
Maestro Studio scripts can be imported into Moropo
What are the cons of using Maestro Studio for React Native testing?
Differences between local test creation and cloud test execution can cause instability
Technical command-line interface installation
Sparse tooling when it comes to results inspection
Can’t test iOS without a Mac
Conclusion
Maestro Studio is great for solo developers and hobby projects but fails to offer accessibility and results inspection for more diverse teams. The open-source approach is refreshing, and the community is excited to see how this library progresses over the coming months and years.
FAQ
What’s the best alternative to Detox in 2024?
For startups and agencies, Moropo is the best replacement for Detox. Moropo combines robust end-to-end testing automation with a user-friendly UI. Other alternatives include Waldo and Maestro Studio.
Do people still use Detox for React Native testing?
Yes, absolutely. There are plenty of Detox scripts still in use across the React Native ecosystem. However, many teams are considering or actively pursuing a migration to more modern methods. If you’re working from a greenfield testing setup, investigate alternatives before adopting Detox.
Fed up with Detox? Wondering what’s best for React Native app testing? This article explores what’s wrong with Detox and what alternatives you should consider in 2023.