anback / detox

Graybox E2E tests and automation library for mobile

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

detox

Graybox End-to-End Tests and Automation Library for Mobile

NPM Version Build Status NPM Downloads

About

High velocity native mobile development requires us to adopt continuous integration workflows, which means our reliance on manual QA has to drop significantly. The most difficult part of automated testing on mobile is the tip of the testing pyramid - E2E. The core problem with E2E tests is flakiness - tests are usually not deterministic. We believe the only way to tackle flakiness head on is by moving from blackbox testing to graybox testing and that's where detox comes into play.

  • 📱 Cross Platform in Mind: Detox is designed to be cross-platform, it currently supports iOS, Android will follow soon.
  • 🔃 Synchronized Tests: It is inherently synchronized with the app under test (never add sleep() in your test code again!!).
  • React Native Support: With a special synchronization mechanism, detox supports React Native apps out of the box.
  • ❗️Test Runner Independent: Can run with mocha, AVA, or any other JavaScript test runner.
  • 🔴 Debuggable: API uses async-await, and all operations are promises, this means that breakpoints will work as expected.

Development still in progress!

Please note that this library is still pre version 1.0.0 and under active development. The NPM version is higher because the name "detox" was transferred to us from a previous inactive package. Package can still break without respecting semver, though we try not to.

Getting Started

Read our Getting Started Guide to get detox running in less than 10 minutes.

Documentation

Learn more about using detox from our docs

See it in Action

Open the React Native demo project and follow the instructions.
Not using React Native? you now have a pure native demo project too.

Contributing

There are still many challenges to conquer in detox. If you're interested in helping out with our roadmap, or suggest new features contact us and we'd love to get you on board.

The best way to dive in into detox's core is our contributing guide here.

License

  • detox by itself and all original source code in this repo is MIT
  • detox relies on some important dependencies, their respective licenses are:

About

Graybox E2E tests and automation library for mobile


Languages

Language:JavaScript 52.8%Language:Objective-C 33.1%Language:Swift 9.1%Language:Java 3.3%Language:Ruby 0.7%Language:Python 0.6%Language:Shell 0.4%