我正在为我的应用程序编写 UI 测试。我有两个警报:位置和通知。我正在努力寻找解决方案来消除这些警报。
目前我正在使用
systemAlertMonitorToken = addUIInterruptionMonitorWithDescription(systemAlertHandlerDescription) { (alert) -> Bool in
if alert.buttons.matchingIdentifier("OK").count > 0 {
alert.buttons["OK"].tap()
return true
} else {
return false
}
}
和
let notifications = self.app.alerts.element.collectionViews.buttons["OK"]
if notifications.exists {
notifications.tap()
}
但是这两个功能都不允许我消除警报。
编辑
现在我添加了
app.buttons["OK"].tap()
app.tap()
到我的代码,但这意味着我的测试失败了,因为 XCT 立即寻找“确定”按钮,而它不是立即弹出的通知。 我只希望在弹出的警报“确定”时被解除,而不是在启动的第一件事上。
最佳答案
中断监视器只会在您下次尝试与应用程序交互时触发,因此您需要在注册中断监视器后编写代码,以便在消除警报后执行您想做的任何操作,例如点击您的应用程序中的另一个按钮用户界面。
当代码到达您接下来与 UI 交互的部分时,将执行完成处理程序的处理程序并处理系统警报。
关于ios - 关闭位置和通知设置 Xcode Ui 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39374482/