尝试运行 KIF 测试。我想点击带有可访问性标签“登录”的按钮,但它超时并显示消息“视图未启用交互”。
[tester tapViewWithAccessibilityLabel:@"SIGN IN"];
按钮在那里,它的标签中有这个文本。如何“启用”这个 UI 元素?
FOR KIF:另一种在视图上告知用户交互信息的方法是打开 iOS 模拟器中的 Accessibility Inspector。这将让您单击视图并查看它们是否实际上可单击/或被其他视图无意中阻止。它还会显示视图是否具有可访问性标签、特征(按钮、标签、静态文本)和/或框架。对于检查您的用户交互很有用 - 即。如果是静态文本或按钮等。
打开可访问性检查器:运行您的应用程序,打开模拟器--->单击主页按钮---->转到设置--->常规--->可访问性--->将可访问性检查器切换为打开--->再次运行您的应用程序或再次单击主页按钮,然后单击您的应用程序。
如果isUserInteractionActuallyEnabled
视图 yield ,您会收到此错误消息NO
。例如看看tapAccessibilityElement:inView:
in的定义KIFUITestActor.m
。该方法isUserInteractionActuallyEnabled
实现UIView-KIFAdditions.m
并基本上检查isUserInteractionEnabled
视图的属性,并且如果您点击导航栏或操作表中的按钮,则会进行一些更精细的检查。
您应该尝试在用户定义的运行时属性下的身份检查器下的 Xcode 界面构建器中设置accessibilityLabel(键路径设置为“accessibilityLabel”,类型设置为“String”,值设置为“SIGN IN”。
还有其他方法可以设置accessibilityLabel,例如您可以说的代码:
[_buttonName setValue:@"SIGN IN" forKey:@"accessibilityLabel"];
我希望这个有帮助。