Gray box end-to-end testing and automation framework for mobile apps
MIT License
Bot releases are visible (Hide)
Published by d4vidi over 3 years ago
getAttributes()
support for Android (#2771). Thanks, @jonathanmos for this contribution!Published by d4vidi over 3 years ago
instance start
command (#2763).Published by d4vidi over 3 years ago
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:
detox.cleanup()
phase (#2721, @noomorph) in cases when the app gets extremely unresponsive. Below are internal details:
SIGINT
. Added SIGTERM
retry for safety (@noomorph, https://github.com/wix/Detox/pull/2716).await
, or as a logged error message — it now gives 5 seconds to the app to finish miscellaneous artifacts recordings.DetoxRuntimeError:
from non-relevant errors (e.g. element assertions).⚠️ 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
.
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.
--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.
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:
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.
Same as 18.6.0, but never published to NPM under latest
tag due to an error.
Important: A problem occurred releasing this version to npm.js
. Please use version 18.3.1
or newer, instead.
element().longPressAndDrag(...)
, drag & drop API for iOS (@alon-ha, #2600)expect...toHaveToggleValue()
signature (#2629, @arendruni)