Fix 4 flaky UI tests for iOS 26 compatibility

- AppLaunchTests/StabilityTests: Increase assertTabSelected timeout to
  8s for iOS 26 Liquid Glass delayed isSelected state updates
- DeepLinkTests: Detect SubscriptionStoreView container instead of text
  labels, since Apple's native view shows "Subscription Unavailable" in
  test storefront
- SettingsActionTests: Check for empty state after clearing data, bump
  Settings header timeout to 8s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-02-26 18:59:22 -06:00
parent 087d8c4cdd
commit 16c5c34942
5 changed files with 16 additions and 11 deletions

View File

@@ -57,12 +57,12 @@ final class DeepLinkTests: BaseUITestCase {
app.open(subscribeURL)
// Subscription view should appear as a sheet.
// Look for common subscription UI elements.
let subscribeText = app.staticTexts.matching(
NSPredicate(format: "label CONTAINS[c] 'subscribe' OR label CONTAINS[c] 'premium' OR label CONTAINS[c] 'upgrade' OR label CONTAINS[c] 'Reflect+'")
).firstMatch
// Detect the SubscriptionStoreView container (works even when products are unavailable in test).
let storeContainer = app.descendants(matching: .any)
.matching(identifier: "Subscription Store View Container")
.firstMatch
let found = subscribeText.waitForExistence(timeout: 8)
let found = storeContainer.waitForExistence(timeout: 8)
captureScreenshot(name: "deeplink_subscribe_result")