Features
- Developer experience. Detect pending in-flight requests (#3003, @jonathanmos)
⚠️ The feature adds extra logic that prevents forgottenawait
statements on asynchronous Detox APIs. That’s why you might see a new error like this:
That should help you find forgottenFAILED DetoxRuntimeError: The pending request \#246 ("invoke") has been rejected due to the following error: Detox has detected multiple interactions taking place simultaneously. Have you forgotten to apply an await over one of the Detox actions in your test code?
await
s in your code that are a potential reason for flakiness in E2E tests. You’ll need to find those places and apply trivial fixes like shown below:await screenDriver.performSomeAction(); - expect(screenDriver.get.myElement()).toBeNotVisible(); + await expect(screenDriver.get.myElement()).toBeNotVisible();
- Developer experience. Improve atIndex matching message for Android (#3098, @d4vidi)
- Developer experience. Validate proper app vs. test APK config (#3111, @d4vidi)
Fixes
- iOS. Escape visibility debug screenshots on iOS (#3102, @noomorph)
- Android. Fix kotlin proguard configuration (#3120, @jonathanmos)
- Android. Prevent a retry loop from hanging up the test runners (#3114, @noomorph)
Typings
- Documented
element(...).getAttributes()
(#3009, @princefishthrower, @noomorph)