首页 > 解决方案 > 如何关闭应用程序崩溃时出现的系统对话框?

问题描述

我正在使用 xcuitest 框架来自动化 mac 应用程序。当应用程序崩溃后再次打开时,我会收到系统对话框。我想以编程方式处理对话框。但对话框出现在进程“UserNotificationCenter”下,而不是被测应用程序下。在这种情况下我该如何处理警报?

标签: swiftxcodexctestxcuitest

解决方案


你有两个选择:

  1. 使用InterruptionMonitor文档用例)。然而,这种方法有点陈旧,我发现它不适用于所有对话和情况。
  2. 创建一个方法,它将等待一些常规应用程序的按钮。如果应用程序的按钮(或标签栏或其他此类 XCUIElement)在应用程序启动后可见且可点击,则可以继续进行测试,如果不是,则可以等待UserNotificationCenter对话框的按钮并通过其字符串/位置识别并点击它。

我正在使用第二种方法,它的工作原理比InterruptionMonitor. 但这实际上取决于您的应用程序布局和用例。


推荐阅读