我正在尝试在KIF上的应用程序上编写接受测试,该应用程序很早就要求获得本地通知权限。不幸的是,由于iOS模拟器安全性原因,无法使用KIF自动接受iOS权限警报。根据https://stackoverflow.com/a/28443743/62,似乎可以禁用位置,通讯录,日历和照片的权限警报,但是我找不到禁用本地通知权限的方法。我尝试了链接问题中的授权方法,但以下任何一项都不起作用:
kTCCServiceNotifications
kTCCServiceNotification
kTCCServiceLocalNotification
kTCCServiceLocalNotifications
还有其他想法吗?目前,我正在通过更改生产代码来解决此问题,以在运行验收测试时有条件地禁用本地通知,但理想情况下,我不必这样做。
不幸的是,我认为在自动化测试中没有实现这一目标的好方法。我知道,即使重设模拟器有时也不足以重设权限。我会将您的测试设计为不测试系统调用,而是您自己的应用程序代码。
根据用户是否允许通知测试不同功能的一种方法是提取调用以检查权限,然后在测试中将此方法存根。此方法是最佳实践,因为目标不是测试iOS是否有效,而是测试您的应用程序代码是否正确。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句