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 -

Published by rotemmiz over 4 years ago

merge with 16.8.2: fix(js): less intrusive error stack trace filtering (#2151, by @noomorph)

Detox - DetoxNext Phase 1

Published by rotemmiz over 4 years ago

DetoxNext is our reimplementation of Detox iOS. It is the biggest change we made in Detox's history. We are building Detox from the ground up.
Detox for iOS now uses an entirely new, custom built matcher, action and expectation infrastructure. This is the first step in our roadmap of removing Earl Grey as a dependency.
While the new system has been designed to be as compatible as possible with the existing system, some changes we made to existing APIs that may or may not require your attention.

Check out the migration guide for more details.

Detox - 16.9.2

Published by noomorph over 4 years ago

Hotfixes

  • fix(js): less intrusive error stack trace filtering (#2151, by @noomorph)
Detox - 16.9.1

Published by d4vidi over 4 years ago

Android:

  • Introduce basic, common use-case support for notification-opening mocking, under the existing API for iOS (#1192). That includes:
    • An explicit notification-based app-launching use cases, with launchApp({ userNotification }).
    • Support for the device.sendUserNotification() API.
Detox - 16.9.0

Published by noomorph over 4 years ago

Features

  • [WIP] feat(android): introduce basic support for notification-triggers in device.launchApp() (#2134, by @d4vidi)

Fixes

  • fix(jest-circus): reinitialize custom logger on every Environment.setup (#2139, by @noomorph)
Detox - 16.8.1

Published by noomorph over 4 years ago

Issues

  • Detox 16.8.0: Hangs when executing tests (#2129)

Fixes

  • Use EarlGrey with no XCTest dependency (#2131, by @LeoNatan )
Detox - 16.8.2

Published by noomorph over 4 years ago

Fixes

  • fix(jest-circus): explicit require('detox') should not fail (#2137)
const { device, expect, /* ... so on ... */ } = require('detox');
Detox - 16.8.0

Published by noomorph over 4 years ago

New integration with jest-circus (#2009, by @noomorph)

The new Detox integration with jest-circus is going to replace the former ones with jest-jasmine2 and jest-circus (aka detoxCircus.getEnv()) as soon as it completes beta testing. The corresponding deprecation notices will be introduced prior to the next major release.

If you are starting a new project, then detox init -r jest command will already equip you with the second generation of detox + jest-circus integration. In existing projects, you will have to create a new e2e/environment.js file and clear clutter from e2e/init.js file (or even delete it) — see the updated Jest guide.

The major highlight of the new integration is #1661 — you will have ***Failure.png screenshots right after an assertion fails: beforeAllFailure.png, beforeEachFailure.png, testFnFailure.png, etc, depending on where the tests fail. This feature is available only if you use the new DetoxCircusEnvironment.

For internal details, why #2009 is important, see the description of the pull request.

Detox -

Published by d4vidi over 4 years ago

Android:

  • Introduced a rundown over Detox' implementation of taps and multi-taps. Specifically, in order to adjust the tap handlers' timers and delays so that they will not accidentally registered as double-taps. (#2094)
Detox - 16.7.1

Published by noomorph over 4 years ago

Fixes

  • hotfix(android): respect --headless option in Mocha and custom runners (#2086, by @noomorph)
Detox - 16.7.0

Published by valentynberehovyi over 4 years ago

Features

  • Detox can be configured via placing external configs in your project folder (#2050, by @noomorph). You can anytime extract your "detox" section from package.json into .detoxrc.json or detox.config.json file, to reduce clutter.

  • Added ability to configure DetoxInstruments’ sampling interval by instruments plugin configuration (#2037, by @valentynberehovyi)

"detox": {
  "artifacts": {
    "plugins": {
      "instruments": {
        "enabled": true,
+       "samplingInterval": 100
        }

Fixes

  • Scaffolding a project with detox init -r mocha creates e2e/.mocharc.json instead of e2e/.mocharc, because the latter is an undocumented option. (@avanderberg, thank you for bringing this to our attention)
Detox - 16.6.0

Published by d4vidi over 4 years ago

Android

We've applied 2 important enhancements associated with the way Detox waits for app-idle (through Espresso):

1. Disabling all native-Android animations on Android emulator

As advised by Google, Android UI tests should system-wide disable all Android animations. In Detox, we've had that overlooked for a while, as it seemed that we could nonetheless figure out a way to have these types of animations synchronized. It appears Google have went to a lot of trouble in disallowing anyone from doing so.
Put in simple words, this evidently means Detox now applies this famous configuration commands-set automatically, when it comes to Emulators:

adb shell settings put global window_animation_scale 0
adb shell settings put global transition_animation_scale 0
adb shell settings put global animator_duration_scale 0

See #2077 for more details.

2. Increasing the default timeouts for Espresso's idle-policy

We've found by ourselves, alongside some feedback from the community, that on CI, Espresso's defaults for idle-wait can be too harsh. We therefore increased the defaults, but also allowed for custom configurations for those who wish to apply them. See #2079.

Detox - 16.5.1

Published by noomorph over 4 years ago

Fixes

  • Display the exact location of test failure in user code, instead of var possibleError = new Error() (ac5339a).
  • Use .mocharc when possible (#2070)

To get rid of:

DeprecationWarning: Configuration via mocha.opts is DEPRECATED and will be removed from a future version of Mocha. Use RC files or package.json instead.

convert your mocha.opts file to .mocharc.json according to https://mochajs.org documentation and point runner-config field in package.json to that .mocharc.json file:

{
  "detox": {
    "runner-config": "e2e/.mocharc.json"
  }
}
Detox - 16.5.0

Published by d4vidi over 4 years ago

  • feat(config): add detox.behavior config to package.json (by @noomorph, #2038)
  • fix(logs): handle traces from unknown files (#2007)
Detox - 16.4.1

Published by noomorph over 4 years ago

  • feat(jest-circus): add retry number reporting (by @d4vidi, #2043)
  • fix(android): apply missing flags to "pm install": reinstall, permissions, test (by @d4vidi, #2045)

Note: this release does not contain the Detox-config related work (#2038, c82754546e7a0e3afc21edc77462533933c62b87), unlike what the commit log shows. Sorry about that, there was a release error.

Detox - 16.4.0

Published by d4vidi over 4 years ago

Android:

  • Introduce an alternative implementation to install APK's on emulators (#2019) -- i.e. so as to avoid using adb install, which appears to have certain issues (i.e. as described in #1857).
    Can be disabled by by passing new argument to the Detox cli - --force-adb-install, set to true.
Detox - 16.3.1

Published by noomorph over 4 years ago

  • fix(android): prevent hanging builds on telnet timeout
Detox - 16.3.0

Published by noomorph over 4 years ago

  • feat: custom driver plugin support (#1919, thanks to @awinograd)
Detox - 16.2.1

Published by noomorph over 4 years ago

  • feat: complete support (iOS and Android) for React Native 0.62 (by @LeoNatan and @d4vidi)
  • fix(android): resort to soft-failing errors in emulator version detection for skin-cfg patching (by @d4vidi)
Detox - 16.2.0

Published by d4vidi over 4 years ago

  • Support for now-stable React Native 0.62 (current latest version is 0.62.2) - #1996. That also includes:
  • Android fix for multiTap() API -- each tap resulting in a long-tap (same as used to be for plain tap()'s).
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