我们有一些应用需要定期检查推送通知。我们可以通过Xcode UI测试检查推送通知吗?
答案 0 :(得分:-2)
免责声明:我还没有这样做......
你无法生成令牌......所以我猜答案是否定的!可以做的是用存根数据模拟你的notificationManager。
使用您测试的存根数据:
否则,如果您完全接受测试,看看应用是否会在收到通知后抛出callback,那么您就会对操作系统进行测试,这是错误的。您应该只测试自己的代码。
通过测试你的notificationManager我大致意思是:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
NotificationManager.shared.handle(userInfo)
}
您的NotificationManager类
func handleAPNSMessage(_ message:[AnyHashable: Any]) {
if let aps = message["aps"] as? NSDictionary {
if let alert = aps["alert"] as? NSDictionary {
if let message = alert["message"] as? NSString {
//Do stuff
}
} else if let alert = aps["alert"] as? NSString {
//Do stuff
}
}
}
派生自here
现在你做的是,你模拟调用handleAPNSMessage
的JSON对象看起来与你的服务器发送给你的那个相同,
如果您想疯狂并真正复制远程通知,那么您可以使用自己的存根数据并创建本地通知...并查看该应用是否按预期工作...
修改强>
确保您看到How can I test Apple Push Notification Service without an iPhone?