Имитация восстановления состояния приложения XCUITest начиная с iOS 17. ⇐ IOS
Имитация восстановления состояния приложения XCUITest начиная с iOS 17.
После перехода на iOS 17.4 я больше не могу изменить состояние своего приложения на .runningBackgroundSuspended. До сих пор я использовал XCUIApplication(waitForState:timeout:) и нажимал кнопку «Домой», чтобы перевести приложение в приостановленное состояние, а затем выполнял перезапуск приложения (см. Мой код ниже).
Мой вопрос: как вы имитируете восстановление состояния приложения в своих приложениях?
XCUIDevice.shared.press(XCUIDevice.Button.home) let goIntoBackground = app.wait(для: .runningBackgroundSuspended, таймаут: таймаут) если !wentIntoBackground { XCTFail("Приложение не было отправлено в фоновый режим, состояние: \(app.state)") вернуть ложь } приложение.прекратить() let appTermination = app.wait(для: .notRunning, таймаут: таймаут) если !appTerminate { XCTFail("Приложение не было закрыто, состояние: \(app.state)") вернуть ложь } приложение.активировать() let startAgain = app.wait(для: .runningForeground, таймаут: таймаут) если !startedAgain { XCTFail("Приложение больше не запускалось, состояние: \(app.state)") вернуть ложь }
После перехода на iOS 17.4 я больше не могу изменить состояние своего приложения на .runningBackgroundSuspended. До сих пор я использовал XCUIApplication(waitForState:timeout:) и нажимал кнопку «Домой», чтобы перевести приложение в приостановленное состояние, а затем выполнял перезапуск приложения (см. Мой код ниже).
Мой вопрос: как вы имитируете восстановление состояния приложения в своих приложениях?
XCUIDevice.shared.press(XCUIDevice.Button.home) let goIntoBackground = app.wait(для: .runningBackgroundSuspended, таймаут: таймаут) если !wentIntoBackground { XCTFail("Приложение не было отправлено в фоновый режим, состояние: \(app.state)") вернуть ложь } приложение.прекратить() let appTermination = app.wait(для: .notRunning, таймаут: таймаут) если !appTerminate { XCTFail("Приложение не было закрыто, состояние: \(app.state)") вернуть ложь } приложение.активировать() let startAgain = app.wait(для: .runningForeground, таймаут: таймаут) если !startedAgain { XCTFail("Приложение больше не запускалось, состояние: \(app.state)") вернуть ложь }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему мое приложение iOS не перезапускается после восстановления состояния Bluetooth?
Anonymous » » в форуме IOS - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-