Repository navigation
fix(webdriveragent): wait for SpringBoard after background apps resume - #82
Merged
Merged
Conversation
[Medium impact] The PR appears safe to merge; no new actionable issue was found.
|
|
|
||
| - (void)verifyInputAfterBackgroundWithMode:(NSUInteger)mode | ||
| { | ||
| XCUIDevice *device = XCUIDevice.sharedDevice; |
Contributor
There was a problem hiding this comment.
should we skip this test in CI?
mykola-mokhnach
approved these changes
Oct 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After an iOS app resumes, the next element tap can return successfully without reaching the app. This reproduces with both
backgroundAppand standaloneactivateApp, on Duo / iOS 27.1 and iPhone 17e / iOS 26.5 and 27.0 simulators under Xcode 27.1.Wait for SpringBoard to become idle, including animations, before returning from background/resume. For standalone activation, apply the wait only when the application was previously backgrounded or suspended. Use the existing
animationCoolOffTimeout; zero disables the wait. The wait happens before the next command resolves element frames. The exact XCTest-internal cause and affected version range remain unknown.The regression verifies that the first Alerts tap opens its page. Both command paths cover background intervals of 0/2 seconds and Duo hinge angles of 0/90/180 degrees. Hinge positioning and restoration use bounded angle readback, and the original display selection is restored.
Validation:
The change remains iOS-only. On tvOS, Remote Home backgrounding works without this extra wait; the separate PineBoard activation failure is addressed by #83. On watchOS, app-only waiting delivered 0/3 taps and reactivation delivered 2/3. System-plus-app waiting delivered 4/4 with a zero-second background interval, but only 1/4 after two seconds. A one-second sleep helped in limited probes, but no reliable watchOS readiness condition has been established.
Refs appium/appium#22857. Independent of the Home and rotation PRs; their changes are not included here.