XCTest 应用程序测试和权限警报
Posted
技术标签:
【中文标题】XCTest 应用程序测试和权限警报【英文标题】:XCTest app tests and permissions alerts 【发布时间】:2016-11-17 22:27:40 【问题描述】:我正在编写 XCTest 应用程序测试,通过在 UIApplication
rootViewController
上调用 presentViewController
来测试一些 UIViewControllers
。
这很好用,除了权限对话框。一些UIViewControllers
使系统弹出权限对话框,用于访问摄像头或麦克风等内容。我不知道如何解雇他们。
如果这是一个 UI 测试,我可以使用 addUIInterruptionMonitorWithDescription
和 tap
来消除警报。
但是,我不确定如何进行这项工作。应用测试能否访问 UI 测试功能?
【问题讨论】:
您好,您找到解决问题的方法了吗? 看来我们需要使用依赖注入 (DI) 和/或 Mock 类来完成此任务。 Lynda.com course 于 2017 年 5 月 24 日最后一次发布,讨论了这两个问题。 (本课程可作为 Lynda.com 的介绍或通过您当地的图书馆免费提供。) 【参考方案1】:在 xcode ui 测试中,要访问系统弹出权限对话框,请使用以下代码:
self.addUIInterruptionMonitorWithDescription("your alert text", handler: (alert) -> Bool in
yourAlertElement.tap()
return true
)
希望这会有所帮助,如果您有任何困惑,请告诉我。
【讨论】:
addUIInterruptionMonitorWithDescription
在不进行 UI 测试时似乎不会触发以上是关于XCTest 应用程序测试和权限警报的主要内容,如果未能解决你的问题,请参考以下文章
xctest 此应用试图在没有使用说明的情况下访问隐私敏感数据