我有以下层次结构:ViewController -> TableView -> TableViewCell -> CollectionView -> CollectionViewCell -> UIImage
在tableViewCell上,collectionView内部有4个单元格。每个细胞都有一个独特的标签。
当用户点击collectionViewCell时,单元格将被选中,并且UIImageView也将突出显示。在这种情况下,这意味着那里有一个不同的图像。我启用了UIImageView上的可访问性,并将traits设置为button和image,以尝试访问这些XCUIElementType
我还没有能够作出任何最明智的工作,因为它总是告诉我,有多个结果的UIImageView,即使细胞的图像视图是在有一个唯一的标识符。
如何声明单元格已被选中?
使用record函数,我得到:let whatIsYourFilingStatusCellsQuery = XCUIApplication().tables.cells.containingType(.StaticText, identifier:"Single").childrenMatchingType(.Image).matchingIdentifier("btn_unselected").tap()
4条答案
按热度按时间o4tp2gmn1#
@Che有正确的想法。
在
didSelectItemAtIndexPath:
中,我这样做:然后,在测试文件中:
我也将在
didDeselect...
中执行相反的操作,5hcedyr02#
将选择状态添加到
accessibilityTraits
,如下所示:然后在 * 最后 * 你可以检查是否
cell.isSelected
状态,这也将减少编程 * 语音 * 状态的复杂性。其他解决方案将需要您手动实现语音状态。
ma8fv8wu3#
如果SwiftUI:
甚至你可以合并孩子。
我从here找到的
vu8f3i0k4#
我真的没有什么好的解决办法。但是我看到只有一种方法可以Assert单元格被选中。在选择单元格时设置一些属性。例如,accessibilityIdentifier将具有唯一的id,accessibilityValue将具有您需要的任何信息(“selected=true”或“selected”)
您有权访问这些属性的UPD: