XCTest 与自定义 UICollectionViewCell

Posted

技术标签:

【中文标题】XCTest 与自定义 UICollectionViewCell【英文标题】:XCTest with custom UICollectionViewCell 【发布时间】:2015-12-22 15:43:03 【问题描述】:

我无法让 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];

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

【问题讨论】:

【参考方案1】:

找到了。事实证明,我已经为所有父视图设置了可访问性。我禁用了这些视图的所有可访问性,并且它起作用了。无障碍检查员帮了我很多。

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

【讨论】:

以上是关于XCTest 与自定义 UICollectionViewCell的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个在 XCTest 中定义按钮或文本字段的 swift 文件?

使用 XCTest 访问自定义 UIView 中的后代控件

如何为自定义 XCTest 断言编写自动化测试?

NSMutableArray 与自定义对象?

XCTest:如何检查异步元素是不是存在

Django Ajax与自定义分页器