我正在使用新的 Xcode 7 UI 测试功能编写 UI 测试用例。在我的应用程序的某个时刻,我要求用户授予相机访问权限和推送通知。所以会出现两个 iOS 弹出窗口:"MyApp Would Like to Access the Camera"
popup 和"MyApp Would Like to Send You Notifications"
popup。我希望我的测试消除两个弹出窗口。
UI 录制为我生成了以下代码:
[app.alerts[@"cameraAccessTitle"].collectionViews.buttons[@"OK"] tap];
但是,[app.alerts[@"cameraAccessTitle"] exists]
解析为 false,并且上面的代码会生成错误:Assertion Failure: UI Testing Failure - Failure getting refresh snapshot Error Domain=XCTestManagerErrorDomain Code=13 "Error copying attributes -25202"
.
那么在测试中消除一堆系统警报的最佳方法是什么?系统弹出窗口会中断我的应用程序流程并立即使我的正常 UI 测试用例失败。事实上,任何关于如何绕过系统警报以便我可以恢复测试通常流程的建议都值得赞赏。
这个问题可能与这个没有答案的 SO 帖子有关:Xcode7 | Xcode UI 测试 | 如何处理位置服务警报?
提前致谢。