关闭位置和通知设置 Xcode Ui 测试

Posted

技术标签:

【中文标题】关闭位置和通知设置 Xcode Ui 测试【英文标题】:Dismissing location and notifcation settings Xcode Ui testing 【发布时间】:2016-09-07 15:55:21 【问题描述】:

我正在为我的应用编写 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 在弹出时被解除,而不是在启动的第一件事上。

【问题讨论】:

【参考方案1】:

中断监视器只会在您下次尝试与应用交互时触发,因此您需要在注册中断监视器后有代码才能在解除警报后执行您想做的任何事情,例如点击您的另一个按钮用户界面。

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

【讨论】:

感谢您的帮助,我现在已将代码放在中断监视器之后,但警报仍然没有被解除。

以上是关于关闭位置和通知设置 Xcode Ui 测试的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 8项目构建成功但UI测试构建失败[关闭]

使用ui switch xcode关闭应用程序中的声音

是否可以为 xcode UI 测试自动设置位置?

如何为 Xcode UI 测试禁用沙箱

如何为 Flash 进行自动化 UI 测试 [关闭]

如何通过 UI 测试(Xcode 12、iOS14)访问推送通知?