可访问性元素不是UI测试中的后代

时间:2017-10-26 12:36:29

标签: ios xcode-ui-testing

我在从笔尖加载的UIView中有一个UITextField,它将isAccessiblityElement设置为true,所有它的超级视图都没有设置。它的accessbilityIdentifier设置为Search Field

视图从nib加载,并设置为navigationItem的titleView。 但是在进行UI测试时,我找不到使用标识符的元素。

从应用程序的根目录打印整个后代层次结构的debugDescription只显示从nib加载的视图,即使它不是可访问性元素。层次结构中没有任何元素具有标识符Search Field

是否还需要做其他事情才能使UITextField出现在层次结构中并成为可查询的ui元素,以便UI测试可以与之交互。

1 个答案:

答案 0 :(得分:0)

我最近处理过类似的问题。在Xcode 9中,我遇到了一个问题,即UI自动化期间无法找到嵌套的UI元素。

通过在Interface Builder中为任何“容器”UIViews取消选中“已启用”辅助功能来解决此问题。

enter image description here

对包含UI对象的所有视图执行此操作后,最终可在UI自动化中访问。

希望这有帮助!