Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios '的标签;图书馆';访问请求警报视图是';基夫不承认_Ios_Objective C_Integration Testing_Alassetslibrary_Kif - Fatal编程技术网

Ios '的标签;图书馆';访问请求警报视图是';基夫不承认

Ios '的标签;图书馆';访问请求警报视图是';基夫不承认,ios,objective-c,integration-testing,alassetslibrary,kif,Ios,Objective C,Integration Testing,Alassetslibrary,Kif,我正在写一篇文章来测试我正在开发的iPhone应用程序的入职流程。当询问AlassetLibrary访问时,会弹出通常的警报视图,但KIF无法识别此警报视图的可访问性标签 当我测试以下各项时,我的测试失败: [tester waitForViewWithAccessibilityLabel:@"OK"]; 而我的iOS模拟器中的可访问性检查器则明确指出,这是该视图的正确标签 我想知道这是否是因为这些警报视图在沙箱之外,有人知道这是否是事实,是否有一些工作可以用KIF来测试它 非常感谢您的帮助

我正在写一篇文章来测试我正在开发的iPhone应用程序的入职流程。当询问
AlassetLibrary
访问时,会弹出通常的警报视图,但KIF无法识别此警报视图的可访问性标签

当我测试以下各项时,我的测试失败:

[tester waitForViewWithAccessibilityLabel:@"OK"];
而我的iOS模拟器中的可访问性检查器则明确指出,这是该视图的正确标签

我想知道这是否是因为这些警报视图在沙箱之外,有人知道这是否是事实,是否有一些工作可以用KIF来测试它


非常感谢您的帮助。

问题可能是UIAlertView显示在另一个窗口中,或者正如您所怀疑的那样,该警报视图是从应用程序代码无法访问的另一个进程中显示的。是否有方法检查另一个UIWindow实例中的视图

更新

如本文所述:

据我所知,触摸事件由iOS发送到UIWindow,然后由UIWindow负责处理它认为合适的事件。KIF和朋友们使用了一种技术,在这种技术中,触摸事件是综合创建的,然后发送到UIWindow。由于您的应用程序代码无法访问显示警报框的UI窗口,因此您的应用程序无法向其发送触摸事件


当然,您可以使用
[[UIApplication sharedApplication]windows]
或使用
[[UIApplication sharedApplication]keyWindow]
手动循环UIApplication的窗口,但我认为测试框架不支持这一点

看来你是对的,我发现这支持你的怀疑。在你的答案中加入这个链接和一个引语好吗?那我就接受这个答案。