# Detox vs Puppeteer

**Leader by vioscaleAI score:** Puppeteer

| Attribute | Detox | Puppeteer |
|---|---|---|
| **vioscaleAI score** | 55.8 (32% (low)) | 72.3 (66% (medium)) |
| activity.commits_last_30d | - | 74 |
| adoption.dependent_repos | 2,719 | 144,056 |
| adoption.github_stars | 12,038 | 95,682 |
| adoption.package_downloads_weekly | - | 11,510,272 |
| content.faq | `[{"answer":"End-to-end testing framework for React Native applications that runs tests on real devices and simulators. Uses gray box testing to eliminate flakiness by automatically synchronizing with asynchronous operations in the app. It is indexed under Testing Tools.","source":"https://wix.github.io/Detox/","question":"What is Detox?","confidence":0.6},{"answer":"Detox is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Pricing changes often, so verify at source before relying on it.","source":"https://wix.github.io/Detox/","question":"Is Detox free to use?","confidence":0.6},{"answer":"Detox supports a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://wix.github.io/Detox/","question":"What platforms does Detox support?","confidence":0.6},{"answer":"We have confirmed 4 integrations for Detox, including Jest, Travis CI, Circle CI and Jenkins. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://wix.github.io/Detox/","question":"What does Detox integrate with?","confidence":0.6},{"answer":"Yes. Detox is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/wix/Detox","question":"Is Detox open source?","confidence":0.95}]` | `[{"answer":"Puppeteer provides programmatic control over browser instances, enabling automated navigation, interaction, and inspection of web pages through a high-level API. It supports both Chrome and Firefox and runs in headless mode by default. It is indexed under Testing Tools.","source":"https://pptr.dev/","question":"What is Puppeteer?","confidence":0.6},{"answer":"Puppeteer is open source, so it can be self-hosted and used at no licence cost. It is released under the Apache-2.0 licence. Pricing changes often, so verify at source before relying on it.","source":"https://pptr.dev/","question":"Is Puppeteer free to use?","confidence":0.6},{"answer":"Puppeteer supports the web and a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://pptr.dev/","question":"What platforms does Puppeteer support?","confidence":0.6},{"answer":"Yes. Puppeteer can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://pptr.dev/","question":"Can Puppeteer be self-hosted?","confidence":0.6},{"answer":"We have confirmed 4 integrations for Puppeteer, including Chrome, Firefox, DevTools Protocol and WebDriver BiDi. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://pptr.dev/","question":"What does Puppeteer integrate with?","confidence":0.6},{"answer":"Yes. Puppeteer is published under the Apache-2.0 licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/puppeteer/puppeteer","question":"Is Puppeteer open source?","confidence":0.99}]` |
| deployment.options | - | `{"self_hosted":true}` |
| description.long | A testing framework for React Native apps that simulates real user interactions on actual devices and simulators with automatic synchronization. It's designed for continuous integration and supports multiple test runners. | Provides programmatic control of Chrome and Firefox browsers for automation and testing through a JavaScript API. |
| features.capabilities | `{"mocking":true,"languages":"JavaScript","assertions":true,"test_types":"e2e","ci_integration":true,"parallel_execution":true}` | `{"coverage":true,"protocol":"cdp","languages":"JavaScript","open_source":true,"headless_mode":true,"auto_wait_retry":true,"browser_automation":true}` |
| integrations.count | 5 | 5 |
| integrations.list | `[{"name":"Jest"},{"name":"Travis CI"},{"name":"Circle CI"},{"name":"Jenkins"},{"name":"Mocha"},{"name":"CircleCI"}]` | `[{"name":"Chrome"},{"name":"Firefox"},{"name":"DevTools Protocol"},{"name":"WebDriver BiDi"},{"name":"chrome-devtools-mcp"}]` |
| language.primary | JavaScript | TypeScript |
| license.spdx | MIT | Apache-2.0 |
| platform.support | `{"ios":true,"android":true}` | `{"cli":true,"web":true}` |
| pricing | `{"type":"open_source","sourceUrl":"https://wix.github.io/Detox/","retrievedAt":"2026-08-13T18:18:29.961Z"}` | `{"type":"open_source","sourceUrl":"https://pptr.dev/","retrievedAt":"2026-09-10T16:07:42.951Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | open_source | open_source |
| pricing.price_level | free | free |
| pricing.transparent | yes | yes |
| release.cadence_days | 12 | - |
| release.history | `[{"url":"https://github.com/wix/Detox/releases/tag/20.51.3","date":"2026-05-30T11:25:05Z","type":"stable","version":"20.51.3"},{"url":"https://github.com/wix/Detox/releases/tag/20.51.1","date":"2026-05-03T11:28:44Z","type":"stable","version":"20.51.1"},{"url":"https://github.com/wix/Detox/releases/tag/20.50.2","date":"2026-04-21T08:45:05Z","type":"stable","version":"20.50.2"},{"url":"https://github.com/wix/Detox/releases/tag/20.50.1","date":"2026-03-23T22:47:54Z","type":"stable","version":"20.50.1"},{"url":"https://github.com/wix/Detox/releases/tag/20.50.0","date":"2026-03-23T13:48:08Z","type":"stable","version":"20.50.0"},{"url":"https://github.com/wix/Detox/releases/tag/20.48.1","date":"2026-03-21T15:37:34Z","type":"stable","version":"20.48.1"},{"url":"https://github.com/wix/Detox/releases/tag/20.48.0","date":"2026-03-21T09:38:28Z","type":"stable","version":"20.48.0"},{"url":"https://github.com/wix/Detox/releases/tag/20.47.0","date":"2026-01-26T11:30:57Z","type":"stable","version":"20.47.0"},{"url":"https://github.com/wix/Detox/releases/tag/20.46.3","date":"2025-12-27T20:53:24Z","type":"stable","version":"20.46.3"},{"url":"https://github.com/wix/Detox/releases/tag/20.46.0","date":"2025-11-16T14:31:00Z","type":"stable","version":"20.46.0"},{"url":"https://github.com/wix/Detox/releases/tag/20.45.1","date":"2025-11-01T18:25:55Z","type":"stable","version":"20.45.1"},{"url":"https://github.com/wix/Detox/releases/tag/20.45.0","date":"2025-10-28T10:21:30Z","type":"stable","version":"20.45.0"},{"url":"https://github.com/wix/Detox/releases/tag/20.44.0","date":"2025-10-19T17:29:07Z","type":"stable","version":"20.44.0"},{"url":"https://github.com/wix/Detox/releases/tag/20.43.0","date":"2025-10-05T18:47:55Z","type":"stable","version":"20.43.0"},{"url":"https://github.com/wix/Detox/releases/tag/20.42.0","date":"2025-09-25T09:03:08Z","type":"stable","version":"20.42.0"},{"url":"https://github.com/wix/Detox/releases/tag/20.41.3","date":"2025-09-18T14:26:29Z","type":"stable","version":"20.41.3"},{"url":"https://github.com/wix/Detox/releases/tag/20.41.2","date":"2025-09-16T09:45:22Z","type":"stable","version":"20.41.2"},{"url":"https://github.com/wix/Detox/releases/tag/20.41.0","date":"2025-09-02T13:49:37Z","type":"stable","version":"20.41.0"},{"url":"https://github.com/wix/Detox/releases/tag/20.40.2","date":"2025-07-14T11:58:16Z","type":"stable","version":"20.40.2"},{"url":"https://github.com/wix/Detox/releases/tag/20.40.1","date":"2025-07-09T10:06:28Z","type":"stable","version":"20.40.1"}]` | `[{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v25.13.0","date":"2026-10-08T13:00:00Z","type":"stable","version":"puppeteer-v25.13.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.13.0","date":"2026-10-08T13:00:01Z","type":"stable","version":"puppeteer-core-v25.13.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/browsers-v3.2.4","date":"2026-10-08T13:00:03Z","type":"stable","version":"browsers-v3.2.4"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v25.12.0","date":"2026-09-23T12:52:04Z","type":"stable","version":"puppeteer-v25.12.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.12.0","date":"2026-09-23T12:52:05Z","type":"stable","version":"puppeteer-core-v25.12.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/browsers-v3.2.3","date":"2026-09-23T12:52:06Z","type":"stable","version":"browsers-v3.2.3"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v25.11.0","date":"2026-09-14T08:59:59Z","type":"stable","version":"puppeteer-v25.11.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.11.0","date":"2026-09-14T09:00:00Z","type":"stable","version":"puppeteer-core-v25.11.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v25.10.0","date":"2026-09-03T13:06:55Z","type":"stable","version":"puppeteer-v25.10.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.10.0","date":"2026-09-03T13:06:56Z","type":"stable","version":"puppeteer-core-v25.10.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/browsers-v3.2.2","date":"2026-09-03T13:06:58Z","type":"stable","version":"browsers-v3.2.2"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v25.9.0","date":"2026-08-25T07:40:50Z","type":"stable","version":"puppeteer-v25.9.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.9.0","date":"2026-08-25T07:40:51Z","type":"stable","version":"puppeteer-core-v25.9.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v25.8.0","date":"2026-08-17T09:12:45Z","type":"stable","version":"puppeteer-v25.8.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.8.0","date":"2026-08-17T09:12:46Z","type":"stable","version":"puppeteer-core-v25.8.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/browsers-v3.2.1","date":"2026-08-17T09:12:47Z","type":"stable","version":"browsers-v3.2.1"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v25.7.0","date":"2026-08-13T18:40:18Z","type":"stable","version":"puppeteer-v25.7.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.7.0","date":"2026-08-13T18:40:19Z","type":"stable","version":"puppeteer-core-v25.7.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v25.6.0","date":"2026-08-11T13:11:24Z","type":"stable","version":"puppeteer-v25.6.0"},{"url":"https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v25.6.0","date":"2026-08-11T13:11:26Z","type":"stable","version":"puppeteer-core-v25.6.0"}]` |
| reliability.status_page | yes | - |
| security.scorecard | 4.1 | 7.9 |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=detox&per_page=100","last_12m":0,"max_severity":null}` | `{"count":1,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=puppeteer&per_page=100","last_12m":0,"max_severity":"MODERATE"}` |

## Capabilities (Testing Tools)

| Capability | Detox | Puppeteer |
|---|:--:|:--:|
| **Core** |  |  |
| Test types | Unit + integration + E2E | - |
| Browser automation | - | ✓ |
| Built-in assertion library | ✓ | - |
| Languages | JavaScript | JavaScript |
| **Isolation** |  |  |
| Mocking / stubbing | ✓ | - |
| **Techniques** |  |  |
| Snapshot testing | - | - |
| **Performance** |  |  |
| Parallel execution | ✓ | - |
| **Insight** |  |  |
| Code coverage | - | ✓ |
| **DX** |  |  |
| Watch mode | - | - |
| **Ops** |  |  |
| CI integration | ✓ | - |

*Source: vioscaleAI. Generated 2026-10-16T19:06:31.670Z. "-" = undocumented, not absent.*
