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