Glossary

Detox

What is Detox?

Detox (developed and open-sourced by Wix) takes a grey-box approach to mobile testing: unlike Appium (black-box, WebDriver) or XCUITest (white-box, in-process), Detox communicates with both the test runner and the app runtime simultaneously. This allows Detox to know when the app is 'idle', all animations complete, all network requests resolved, all JS microtasks flushed, before proceeding to the next test step. The result is near-zero flakiness without any explicit waits. Detox works natively on both iOS (using the XCUITest driver under the hood) and Android. It is the recommended E2E framework for React Native projects and is used in production by Wix, Microsoft, and dozens of other large-scale React Native apps.

Detox, frequently asked questions

Detox is 'grey-box': it has direct communication with the React Native runtime, allowing it to synchronise with the app's idle state before each assertion. Appium is 'black-box': it drives the app via the accessibility tree with no insight into JS thread state. This synchronisation is why Detox tests are significantly more reliable and faster than equivalent Appium tests on React Native apps.