Swift 如何关闭应用程序崩溃时显示的系统对话框?
我正在使用xcuitest框架来自动化mac应用程序。当应用程序崩溃后再次打开时,我会看到系统对话框。我希望以编程方式处理该对话框。但是对话框出现在进程“UserNotificationCenter”下,而不是在测试中的应用程序下。在这种情况下,我如何处理警报?您有两个选项:Swift 如何关闭应用程序崩溃时显示的系统对话框?,swift,xcode,xctest,xcuitest,Swift,Xcode,Xctest,Xcuitest,我正在使用xcuitest框架来自动化mac应用程序。当应用程序崩溃后再次打开时,我会看到系统对话框。我希望以编程方式处理该对话框。但是对话框出现在进程“UserNotificationCenter”下,而不是在测试中的应用程序下。在这种情况下,我如何处理警报?您有两个选项: 使用中断监视器(,)。这 然而,这种方法有点陈旧,我发现,它不适合任何人 所有对话和情景 创建一个方法,它将等待一些常规应用程序的按钮。如果应用程序的按钮(或选项卡栏或其他类似XUIElement)在应用程序启动后可见且可
UserNotificationCenter
对话框的按钮,并按其字符串/位置识别并点击它李>
我使用的是第二种方法,它比
InterruptionMonitor
工作得更好。但这实际上取决于你的应用程序布局和用例。你应该能够避免它出现在第一位。比如:
defaults write com.apple.CrashReporter DialogType none
您是否尝试为此使用
InterruptionMonitor
?是的。InterruptionMonitor似乎可以工作,但不知何故它使测试运行的时间更长。