解散位置和通知设置Xcode Ui测试

时间:2016-09-07 15:55:22

标签: ios swift xcode xcode-ui-testing

我正在为我的应用编写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正在寻找按钮" OK"当它不是直接弹出的通知时会马上离开。 我只希望当它弹出而不是第一件用于启动时,可以解除警报OK。

1 个答案:

答案 0 :(得分:0)

中断监视器只会在您下次尝试与应用程序进行交互时触发,因此您需要在注册中断监视器后使用代码,以便在解除警报后执行您想要执行的任何操作,例如,点击您的其他按钮UI。

当代码到达您下次与UI交互的部分时,将执行完成处理程序的处理程序并处理系统警报。