在我的应用程序中,我的结构如下:
-->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,而只是将它们全部放在其他父级上。但是,如果我使用开发人员工具 > 可访问性检查器,那么我可以看到正确的结构。但在代码中它不起作用并且呈现方式不同。
如何正确解决这个问题?
最佳答案
我遇到了类似的问题。 它帮助我在 TableViewCell 中使用 accessibilityElements(我在这里找到了建议 Custom UITableViewCell accessibility)
尝试在您的 TableViewCell 中设置
accessibilityElements = [CollectionView]
关于swift - 在 XCUITest 中,深度嵌套的元素具有错误的辅助功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52819564/