gpt4 book ai didi

ios - UI 测试 UITableView 单元格计数

转载 作者:可可西里 更新时间:2023-11-01 17:03:27 24 4
gpt4 key购买 nike

我正在尝试验证在我的 UI 测试中表格 View 是否已填充了一定数量的单元格。这是我的代码:

XCUIApplication().tables.element.swipeUp()
let count = XCUIApplication().tables.element.children(matching: .cell).count
XCTAssert(count > 0)

断言失败,因为 count 始终为 0,即使向上滑动滚动显然已成功填充的 TableView 也是如此。我也试过:

XCTAssert(app.tables.cells.count > 0)

同样的结果。我什至在一个屏幕中创建了一个带有 3 个静态单元格的 TableView 的空项目,以消除 UI 测试的任何其他可能的干扰,它仍然总是返回 0。我正在使用 Xcode 9 在 iOS 11 上进行测试。

最佳答案

单元格并不总是注册为单元格,这取决于您如何配置辅助功能。仔细检查辅助功能是否确实在 Xcode 菜单 -> 打开开发人员工具 -> 辅助功能检查器 中看到了单元格。

很可能可访问性看到的是 staticTexts 而不是 cells,这取决于您的布局代码——在这种情况下,您应该断言

XCTAssert(app.tables.staticTexts.count > 0)

如果你想要单元格,在 tableView:cellForItemAtIndexPath 中配置你的单元格:

cell.isAccessibilityElement = true
cell.accessibilityLabel = cell.titleLabel.text // (for example)
cell.accessibilityIdentifier = "MyCellId" // (or whatever you want XCUITest to identify it as)

这会将单元格标记为根可访问项目,而不是单元格的每个 subview 都是离散元素。

关于ios - UI 测试 UITableView 单元格计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48005381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com