在XCUITest中,深度嵌套的元素具有错误的辅助功能

时间:2018-10-15 14:59:43

标签: swift xcode xcuitest

在我的应用中,我的结构如下:

-->Parents
---->TableView
------>TableViewCell (identifier: "MyTableViewCell")
-------->CollectionView
---------->CollectionViewCell
------------>Label

但是,当我使用XCUIApplication().debugDescription时,它会显示以下信息:

-->Parents
---->TableView
------>TableViewCell
-------->StaticText (instead of collectionView.cell.label)

因此,当我有一个查询XCUIApplication().cells["MyTableViewCell"].collectionViews时,测试会失败并带有未找到的元素。

因此,似乎XCode忽略了嵌套的XCUIElement,而只是将它们全部放在其他父对象上。但是,如果使用开发人员工具>辅助功能检查器,则可以看到适当的结构。但是在代码中,它无法正常工作,并且呈现方式有所不同。

如何正确解决此问题?

1 个答案:

答案 0 :(得分:1)

我有类似的问题。 它帮助我在TableViewCell中使用accessibilityElements(我在这里Custom UITableViewCell accessibility找到了建议)

尝试在您的TableViewCell中设置

accessibilityElements = [CollectionView]