我的iOS应用程序当前具有iOS 7的部署目标(尽管我的方案运行iOS 9.2模拟器),并与AddressBook,AddressBookUI和CoreLocation框架链接。我在Xcode 7中(不是在Instruments中)有一套Swift UI测试。当用户首次使用我的应用程序时,系统会要求他们授予访问其联系人的权限以及应用程序运行时的位置。由于这涉及需要完美执行的大量代码,所以我很想自动化所有可能的结果,并确保UI处于所需状态。
我可以使用Xcode UI测试来重置模拟器的设置以访问联系人和位置吗?例如,我可以setUp()
在我的测试用例类中的函数中实现这一点。我已经找到了一些有关如何响应对话框的教程,但是在此之前,我需要模拟请求权限的条件。这是一个说明如何应对此类警报的问题。
简短的回答:不。没有用于UI测试的API可以重置模拟器(因此可以重置权限对话框)。我建议向Apple提交错误报告,解释为什么需要这样做。
UI测试无法轻松地测试“不愉快的道路”。在您的问题中,您提到了测试所有流的权限。如果没有在测试之间手动重置模拟器,这将是不可能的。我建议仅使用UI测试来测试幸福的道路,而将其他案例留给单元测试。
我知道这并不理想,但目前这是一个不错的解决方法。就其价值而言,这就是我测试我们的应用程序时所采用的方法。(应用程序要求推送通知和位置权限。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句