iOS:如何在UITest中选择断言单元格?

时间:2015-12-03 05:43:22

标签: ios ios9 xcode-ui-testing uitest

我有以下层次结构: 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()

2 个答案:

答案 0 :(得分:1)

@Che有正确的想法。

Mock中,我这样做了:

didSelectItemAtIndexPath:

然后,在测试文件中:

cell.accessibilityValue = @"isSelected";

我也会在XCTAssertEqualObjects(randomCellToTap.value, @"isSelected");

中做相反的事情

答案 1 :(得分:0)

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

UPD您可以访问这些属性:

enter image description here