gpt4 book ai didi

ios - KIF 无法识别 'ALAssetsLibrary' 访问请求警报 View 的标签

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:59 26 4
gpt4 key购买 nike

我正在写一个 KIF test测试我正在开发的 iPhone 应用程序的入职流程。当向 ALAssetsLibrary 请求访问权限时,会弹出通常的警报 View ,但 KIF 无法识别此警报 View 的可访问性标签。

Screenshot

当我测试以下内容时,我的测试失败了:

[tester waitForViewWithAccessibilityLabel:@"OK"];

虽然我的 iOS 模拟器中的辅助功能检查器清楚地表明这是该 View 的正确标签。

我想知道这是否是因为这些警报 View 在沙箱之外,有人知道是否是这种情况,是否可以使用 KIF 对其进行测试?

非常感谢任何帮助。

最佳答案

问题可能是 UIAlertViews 显示在另一个窗口中,或者像您怀疑的那样,警报 View 是从应用代码无法访问的另一个进程显示的。有没有办法检查另一个 UIWindow 实例中的 View ?

更新

如此处所述:https://groups.google.com/forum/#!msg/kif-framework/iDBomK8kyL8/wLtlh80YrpsJ

As I understand it touch events are routed by iOS to a UIWindow, which is then responsible for dealing with them as it sees fit. KIF and friends use a technique where touch events are synthetically created and then sent to a UIWindow. Since your app code doesn't have access to the UIWindow which is presenting the alert box, your app has no way to send it a touch event.

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

关于ios - KIF 无法识别 'ALAssetsLibrary' 访问请求警报 View 的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23337452/

26 4 0