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.
Released to GitHub in 2016, Detox is a popular end-to-end testing framework by Wix. It has over 10k stars on GitHub.
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.
Despite some success, Detox has failed to become widely adopted by the React Native community.
Common complaints about 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!
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.
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.
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.
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.
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.
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.
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.
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.