Releases: wix/Detox
13.0.0
This build introduces a new typing method on iOS. The API remains the same, but it should be much more resilient now. For example, there is no longer a requirement to disconnect the hardware keyboard or show the software keyboard. It is now possible to type numbers and non-English characters on iOS.
Other fixes include being able to use the atIndex() API with swiping and scrolling (#1204, #1384, #1461), improvements to waitFor() API on Android and iOS and printing of unresolved Detox requests that might shed a light on why a test is stuck.
Detox 12.11.2
Includes:
- bugfix to #1409 - bug(android): endless scrolling attempts if item not found using
waitFor(@d4vidi) - bugfix to #1460 - bug(general): timeout error on detox.cleanup() if an app had been terminated earlier in a test (@noomorph)
- PR #1467 - fix(ws): explicit error handling (@noomorph)
Internal changes:
- #1144 - refactor: allow technically to control multiple detox instances (@manuquentin, @noomorph)
- #1459 - chore: revive generation script (@d4vidi)
Detox 12.11.1
Removed deprecated API use of AppleSimUtils.
Improvements in log artifacts
Precompiled Detox Android (aka .aar) bundling
Detox-Android code is now available as a precompiled package (i.e. an .aar) -- bundled into the npm package. This allows apps to configure it as an immediately available dependency, instead of a compiling one - which requires recompilation in every app build.
Integration with Detox Instruments
This release adds initial integration between Detox and Detox Instruments (#1165).
If you run Detox tests with --record-performance all, it will load or use the already loaded Profiler framework and call its APIs to record performance metrics for each test. The artifacts manager will put each test recording (.dtxrec) into an appropriate folder inside your artifacts location.
Also, the deprecation of "specs" property in package.json has been revoked - it continues to serve as a default test root directory (#1290).
More details can be found in the CHANGELOG.
Enhancements for the screenshot artifacts subsystem
Features
#1281 - feat: --take-screenshot manual mode by default
Adds --take-screenshot manual mode, which is used by default from now on.
In manual mode, device.takeScreenshot is enabled as well, but beforeEach.png and afterEach.png screenshots are not being taken.
To have device.takeScreenshot API disabled forcibly, use --take-screenshot none.
Bugfixes
#1276 - fix(android): install APK with a file path that needs escaping
Take screenshots on demand
Adds await device.takeScreenshot(name) method.
More details: #904
Bugfixes for the logger subsystem
-
hotfix: redundant logs in the folder (#1268) - 2dabadd
Prevents uncontrolled creation of
detox_<pid>.logfiles in the current working directory, when using--record-logsand not specifying the location of the artifacts (which is an autogeneratedartifacts/<configuration>_<timestamp>folder). -
fix: stabilize simulator log recording (#1273) - 65e1975
Addresses sporadic hanging of a test runner due to a race condition caused by 3rd-party tail npm package: setTimeout (=> @watch()), 1000 . The tail object is apt to subscribe itself to FS events on the sly via creating a watcher (
fs.watch()) even afterfs.unwatch()has been called.
Take screenshots — Beta preview
More details here: #904