在 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]
在我的应用程序中,我的结构如下:
-->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]