Skip to content

Commit 13186c6

Browse files
committed
refactor: remove hardcoded tvOS app-switcher sleep
1 parent 4ec5deb commit 13186c6

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

ios-runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests.swift

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ final class RunnerTests: XCTestCase {
4040
private let postSnapshotInteractionDelay: TimeInterval = 0.2
4141
private let firstInteractionAfterActivateDelay: TimeInterval = 0.25
4242
private let scrollInteractionIdleTimeoutDefault: TimeInterval = 1.0
43+
private let tvRemoteDoublePressDelayDefault: TimeInterval = 0.0
4344
private let minRecordingFps = 1
4445
private let maxRecordingFps = 120
4546
private var needsPostSnapshotInteractionDelay = false
@@ -1041,14 +1042,27 @@ final class RunnerTests: XCTestCase {
10411042
private func performTvRemoteAppSwitcherIfAvailable() -> Bool {
10421043
#if os(tvOS)
10431044
XCUIRemote.shared.press(.home)
1044-
usleep(120_000)
1045+
sleepFor(resolveTvRemoteDoublePressDelay())
10451046
XCUIRemote.shared.press(.home)
10461047
return true
10471048
#else
10481049
return false
10491050
#endif
10501051
}
10511052

1053+
private func resolveTvRemoteDoublePressDelay() -> TimeInterval {
1054+
guard
1055+
let raw = ProcessInfo.processInfo.environment["AGENT_DEVICE_TV_REMOTE_DOUBLE_PRESS_DELAY_MS"],
1056+
!raw.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty
1057+
else {
1058+
return tvRemoteDoublePressDelayDefault
1059+
}
1060+
guard let parsedMs = Double(raw), parsedMs >= 0 else {
1061+
return tvRemoteDoublePressDelayDefault
1062+
}
1063+
return min(parsedMs, 1000) / 1000.0
1064+
}
1065+
10521066
private func findElement(app: XCUIApplication, text: String) -> XCUIElement? {
10531067
let predicate = NSPredicate(format: "label CONTAINS[c] %@ OR identifier CONTAINS[c] %@ OR value CONTAINS[c] %@", text, text, text)
10541068
let element = app.descendants(matching: .any).matching(predicate).firstMatch

0 commit comments

Comments
 (0)