Detox

Gray box end-to-end testing and automation framework for mobile apps

MIT License

Downloads
1.1M
Stars
10.9K
Committers
260

Bot releases are visible (Hide)

Detox - 18.14.0

Published by d4vidi over 3 years ago

Features

  • Add getAttributes() support for Android (#2771). Thanks, @jonathanmos for this contribution!
    The list of supported attributes on both platforms (Android, iOS) is available in our docs.
  • Save screenshots of failing taps etc under artifacts (#2728, #2765), @alon-ha

Fixes

  • Add an emergency teardown handler (#2781), @noomorph
Detox -

Published by noomorph over 3 years ago

Features

iOS: added toBeFocused expectation (#2767, @alon-ha)

Fixes

detox-cli: fix an infinite loop if locally installed (#2770, @noomorph)

Detox -

Published by noomorph over 3 years ago

Fixes

  • fix(types): pinch signature (#2758, @zbrookle)
Detox - 18.12.1

Published by d4vidi over 3 years ago

Features

Android:

  • Genymotion-cloud support (still unofficial): Cancel retries for instance start command (#2763).

Internal

  • Move from Bintray to maven central as the artifactory for Android
  • Increase concurrently used simulators count on Detox' CI

Fixes

  • iOS: image for visibility testing when window is a keyboard (#2755, @tyronet-sportsbet)
Detox - 18.12.0

Published by d4vidi over 3 years ago

Features

Android debug-sync

Make fundamental debug-synchronization mechanism properly work on Android (#1788).

Starting this release, activating app synchronization debugging (e.g. by applying the --debug-synchronization <ms> argument to detox test) -- which is on by default, should yield fundamental output on Android, on top of iOS, when the app is detected as busy for a suspiciously long while.

Here are some output samples:

Screen Shot 2021-04-14 at 11 49 12

Screen Shot 2021-04-14 at 11 49 22

Detox -

Published by noomorph over 3 years ago

Internal changes:

  • Add one more logging message for debugging (#2726, @noomorph)
  • Relax ws dependency to ^7.0.0 (d178d21, @noomorph)
  • A small refactor in Detox Android native codebase (#2725, @d4vidi) — preparation towards --debug-synchronization fix.
Detox -

Published by noomorph over 3 years ago

Fixes

  • Stabilised detox.cleanup() phase (#2721, @noomorph) in cases when the app gets extremely unresponsive. Below are internal details:
    • Added 5s time limit for Detox cleanup phase to avoid uncanny and generic timeout errors from the test runner itself.
    • Ensured that the web socket client never throws a direct error (instead, just logs errors if any) — otherwise the general Detox cleanup won't pass completely.
Detox -

Published by noomorph over 3 years ago

Fixes

  1. iOS. Synchronization issue that caused Detox to continue working while React component was still rendering. (@alon-ha, https://github.com/wix/Detox/pull/2719)
  2. iOS. Recording video artifacts sometimes would not stop even when Detox had sent already SIGINT. Added SIGTERM retry for safety (@noomorph, https://github.com/wix/Detox/pull/2716).
Detox -

Published by noomorph over 3 years ago

Features

  • Internal: new client-server implementation (#2660, by @noomorph)
    • Promptly throws an error message if the app was never launched or is not connecting to the Detox server.
    • On-spot app crash handling — either as a rejected await, or as a logged error message — it now gives 5 seconds to the app to finish miscellaneous artifacts recordings.
    • Overall, a stricter attitude to sudden app disconnects — it will be evident if there's abnormal behavior between the runner and the app.

Miscellaneous

  • Log prefixes have been made a bit shorter.
  • Removed DetoxRuntimeError: from non-relevant errors (e.g. element assertions).
Detox -

Published by noomorph over 3 years ago

Features

  • Extensible Detox configs (#2707, @noomorph)

From now on, you can ship base Detox configs and reuse them across multiple projects via extends, e.g.:

{
  "extends": "@my-org/detox-preset"
}

or

{
  "extends": "./e2e/base.config.js"
}
Detox -

Published by noomorph over 3 years ago

Fixes

Typings: device.launchApp() - added userTracking permission (#2702, by @ANTNNJT)

Detox -

Published by noomorph over 3 years ago

Features

  • Use Node.js resolution for Detox config paths (@noomorph, #2693)

⚠️ The feature is not breaking but it encourages using Node.js-compliant module paths when using explicit Detox config file paths (-C ./myDetoxConfig.js).

E.g., from now on there is no need to write -C node_modules/my-detox-config/index.js anymore — just use -C my-detox-config.

Fixes

  • fix: better error stacks for unhandled errors (@noomorph, #2680, #2698)
Detox -

Published by noomorph over 3 years ago

Fixes

  • fix(config): throw err on invalid device type (#2676, @noomorph) – improves UX when there are certain human errors with building a configuration file

Internal

  • Introduce Detox-Native for Android (#2672, @d4vidi) – at the moment it can be considered as a refactoring change, but the feature release will follow.
Detox -

Published by noomorph over 3 years ago

Features

  • Android: new API for asserting and interacting with elements inside web views (#2538, @OrenZak):
await web.element(by.web.cssSelector('.login')).typeText('[email protected]');
await expect(web.element(by.web.id('btnNext')).toExist();

This functionality is not supported for iOS at the moment and there's no ETA.

Fixes

  • Android: fixed --debug-synchronization <ms> current status reports on Android (#2651, @noomorph):

Note: This feature is not yet fully functional on Android. Follow #1788 to stay up to date.

Detox -

Published by d4vidi over 3 years ago

Fixes

  • Fix launch-arguments editing bug (#2644)
Detox -

Published by noomorph over 3 years ago

Main Feature

JS: new Detox configuration format with basic support for switching between multiple apps (@noomorph, via #2587).

In a nutshell, instead of requiring configuration "monoliths" we now allow for the deconstruction and reconstruction of the Detox configuration into its various building blocks:

  • Devices configuration
  • Application configuration
  • Reconstruction into actual configurations using references to the above entities

Conceptual template:

{
  // ...
  "detox": {
    // ...
    "devices" {
      // ... see the docs ...
    },
    "apps": {
      // ... see the docs ...
    },
    "configurations": {
      "ios.sim.debug": {
        "device": "simulator",
        "app": "ios.debug"
      },
      "android.emu.release": {
        "device": "emulator",
        "app": "android.release"
      },
      "android.att.release": {
        "device": "android.attached",
        "app": "android.release"
      },
      "android.genymotion.release": {
        "device": "android.genycloud",
        "app": "android.release"
      }
    }
  }
}

Important: On top of just syntax-boosting, this more flexible form of configuring Detox now also opens the door to running more than one application throughout the test suite, using the new device.selectApp() API that accompanies this change. See migration notes for complete info.

Additional Features

  • iOS: Changes for Xcode 12.5 beta compilation support (@LeoNatan, via #2640)

Fixes

  • iOS: Fix for "Exceeding timeout when using onRefresh prop" (#2590, by @LeoNatan via #2639)
  • iOS: Fix for "SwiftUI Element matchers, visibility & actions (like tap) not working with detox 18.x" (#2636, by @LeoNatan via #2638)
Detox -

Published by noomorph over 3 years ago

Same as 18.6.0, but never published to NPM under latest tag due to an error.

Detox - 18.3.1

Published by d4vidi over 3 years ago

A rerelease of version 18.3.0.
Released due to an issue with the publishing of 18.3.0 to npm.js.

Detox -

Published by noomorph over 3 years ago

Important: A problem occurred releasing this version to npm.js. Please use version 18.3.1 or newer, instead.

  • iOS: element().longPressAndDrag(...), drag & drop API for iOS (@alon-ha, #2600)
  • JS: device.appLaunchArgs API (#2624, @d4vidi)
  • typings: add expect...toHaveToggleValue() signature (#2629, @arendruni)
Detox -

Published by noomorph over 3 years ago

  • ios: update DetoxSync (49986595664cfd2f922ae7deda6381bbdd6209ae, @LeoNatan )
  • types: fix device.takeScreenshot(name) signature (#2609, @noomorph )
Package Rankings
Top 0.61% on Npmjs.org
Top 3.86% on Proxy.golang.org
Top 21.46% on Repo1.maven.org
Badges
Extracted from project README
SWUbanner NPM Version NPM Downloads Build status Coverage Status Detox is released under the MIT license PR's welcome! Discord Twitter Follow
Related Projects