Detox

Gray-box end-to-end testing framework for React Native apps. Unlike Appium (black-box), Detox instruments the React Native app itself — enabling synchronization with the app's state to eliminate flakiness. Detox waits for the app to be 'idle' before executing test actions, dramatically reducing async timing issues. Written by Wix Engineering. Works with Jest test runner. Supports iOS (Simulator) and Android (Emulator) on CI.

Evaluated Mar 06, 2026 (0d ago) v20+
Homepage ↗ Repo ↗ Developer Tools react-native e2e mobile ios android gray-box testing
⚙ Agent Friendliness
64
/ 100
Can an agent use this?
🔒 Security
88
/ 100
Is it safe for agents?
⚡ Reliability
72
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
78
Error Messages
75
Auth Simplicity
100
Rate Limits
100

🔒 Security

TLS Enforcement
90
Auth Strength
90
Scope Granularity
90
Dep. Hygiene
80
Secret Handling
88

Local testing framework. Test builds should use test credentials, not production data. iOS Simulator and Android Emulator provide OS-level isolation.

⚡ Reliability

Uptime/SLA
75
Version Stability
72
Breaking Changes
68
Error Recovery
72
AF Security Reliability

Best When

You're building React Native apps and need reliable E2E tests without flakiness from async timing issues — Detox's gray-box approach eliminates most waitFor issues.

Avoid When

You need cross-platform native app testing (Swift, Kotlin) or simple component testing — Detox is React Native specific.

Use Cases

  • Write reliable E2E tests for React Native apps that sync with app state automatically — no arbitrary sleeps needed
  • Test React Native app navigation flows, form submissions, and multi-screen interactions in CI pipelines
  • Validate app behavior on specific device/OS configurations using Detox's device configuration system
  • Run React Native E2E tests on CI (GitHub Actions, Bitrise) with iOS Simulator and Android Emulator support
  • Test React Native apps with authentication flows, deep links, and push notification handling in automated test suites

Not For

  • Non-React Native mobile apps — use XCTest/XCUITest for native iOS, Espresso for native Android
  • Simple component unit testing — use React Native Testing Library and Jest
  • Quick iteration testing — Detox requires device/simulator setup and build; slower feedback than unit tests

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

No authentication — local testing framework.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

MIT-licensed open source framework by Wix Engineering.

Agent Metadata

Pagination
none
Idempotent
Partial
Retry Guidance
Documented

Known Gotchas

  • Detox requires building the app in a specific 'test' configuration — debug build with Detox instrumentation; release builds are not compatible
  • iOS testing requires macOS with Xcode installed — Android testing also possible on Linux; Detox iOS tests cannot run on non-macOS CI agents
  • testID prop must be added to React Native elements for Detox element queries — testID is React Native specific and has no web equivalent
  • Detox v20 moved to a new configuration format — older .detoxrc.js configs must be migrated; major version upgrades often require config changes
  • Animations must be disabled in test builds (UIApplication.shared.keyWindow?.layer.speed = 500) — animations cause element not found errors during transitions
  • Android emulator setup for CI requires AVD creation and emulator start as pre-test setup — Detox doesn't manage emulator lifecycle automatically

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Detox.

$99

Scores are editorial opinions as of 2026-03-06.

5208
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered