2

我有以下层次结构: ViewController -> TableView -> TableViewCell -> CollectionView -> CollectionViewCell -> UIImage

在 tableViewCell 上,collectionView 内部有 4 个单元格。每个单元格都有一个唯一的标签。

当用户点击 collectionViewCell 时,单元格会被选中,并且 UIImageView 也会突出显示。在这种情况下,这意味着那里有不同的图像。我启用了 UIImageView 的可访问性并将特征设置为按钮和图像以尝试访问那些 XCUIElementTypes

我无法使任何 UITest 工作,因为它总是告诉我 UIImageView 有多个结果,即使图像视图所在的单元格具有唯一标识符。

如何断言单元格已被选中?

使用我得到的记录功能: let whatIsYourFilingStatusCellsQuery = XCUIApplication().tables.cells.containingType(.StaticText, identifier:"Single").childrenMatchingType(.Image).matchingIdentifier("btn_unselected").tap()

4

2 回答 2

1

@Che 有正确的想法。

didSelectItemAtIndexPath:中,我这样做了:

cell.accessibilityIdentifier = @"isSelected";

然后,在测试文件中:

XCTAssertEqualObjects(randomCellToTap.value, @"isSelected");

我也要做相反的瘦didDeselect...

于 2016-12-09T17:25:13.157 回答
-1

我真的没有很好的解决方案。但我看到只有一种方法可以断言单元格被选中。在选择时为单元格设置一些属性。例如,accessibilityIdentifier 将有唯一的 id,accessibilityValue 将有你需要的任何信息(“selected=true”或“selected”)

UPD 您可以访问以下属性:

在此处输入图像描述

于 2015-12-03T11:35:35.150 回答