1 / Попробуйте записать путь с помощью тестового регистратора XCode для кнопки оповещения и убедитесь, что у вас есть правильный путь.
XCUIApplication().alerts["“AppName” Would Like to Send You Notifications"].buttons["Allow"].tap() //didn't work.
может быть не правильно.
(примечание: использование тестового регистратора для таких вещей, как поиск пути к элементу, в порядке и очень удобно для новичков.)
2 / Вам не нужно использовать addUIInterruptionMonitorWithDescription
в том случае, если у вас есть системное оповещение, которое будет появляться каждый раз, или если вы знаете, что это произойдет.
Просто используйте waitForExistance
и нажмите на него, если он существует.
(примечание: я обнаружил, что ожидание и нажатие на системное уведомление лучше, чем addUIInterruptionMonitorWithDescription
, который иногда нестабилен / сложен)
3 / alert.buttons["Allow"].tap()
мне не кажется правильным, не так ли XCUIApplication().alerts.buttons["Allow"]
? Кроме того, вы можете использовать XCUIApplication().alerts.buttons.element(boundBy: 0
, чтобы нажать на первую кнопку.