使用自定义 UICollectionViewCell 的 XCTest

XCTest with custom UICollectionViewCell

我无法获得 UI 测试记录自定义 UICollectionViewCell 选择。

怎么做?是否支持?

下面是我点击第一个单元格时自动生成的代码。

我也在设置这些属性:

在 cellForItemAtIndexPath

cell.isAccessibilityElement = YES;
cell.accessibilityIdentifier = [NSString stringWithFormat:
                                @"HistoryCollectionViewCell-%d-%d",
                                (int)indexPath.section,
                                (int)indexPath.item];
cell.accessibilityValue = cell.accessibilityIdentifier;
cell.accessibilityLabel = cell.accessibilityIdentifier;


cell.contentView.isAccessibilityElement = YES;
cell.contentView.accessibilityIdentifier = [NSString stringWithFormat:
                                            @"HistoryObjectContentView-%d-%d",
                                            (int)indexPath.section,
                                            (int)indexPath.item];
cell.contentView.accessibilityValue = cell.contentView.accessibilityIdentifier;
cell.contentView.accessibilityLabel = cell.contentView.accessibilityIdentifier;

在我的TestFile.m

XCUIApplication *app = [[XCUIApplication alloc] init];

[app.buttons[@"btnTabHistory"] tap];

[[[[[app childrenMatchingType:XCUIElementTypeWindow] elementBoundByIndex:0] childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element tap];

如果您需要更多信息,请告诉我。 :)

找到了。事实证明,我已经为所有父视图设置了可访问性。我禁用了这些视图的所有可访问性,并且它起作用了。辅助功能检查器对我帮助很大。

如果有人遇到类似问题,您可以通过右键单击 XCode(从停靠栏)-> 打开开发人员工具 -> 辅助功能检查器来打开辅助功能检查器