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

In XCUITest deeply nested elements have wrong accessibility features

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

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

然而,当我使用 XCUIApplication().debugDescription 时,它给了我这个:

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

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

所以似乎 XCode 忽略了深度嵌套的 XCUIElements,只是将它们全部放在其他父元素上。但是,如果我使用开发人员工具 > 可访问性检查器,那么我可以看到正确的结构。但是在代码中它不起作用并且呈现方式不同。

如何正确解决这个问题?

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

尝试在你的TableViewCell中设置

accessibilityElements = [CollectionView]