XCUITest:与具有许多单元格的表格进行交互

Posted

技术标签:

【中文标题】XCUITest:与具有许多单元格的表格进行交互【英文标题】:XCUITest: Interacting with table with many cells 【发布时间】:2018-10-15 14:04:59 【问题描述】:

我有一个带有搜索栏的UITableView。该表可以包含数千个单元格。性能很好,因为实际上只获取/渲染了屏幕上的单元格。

我正在尝试使用 UI 测试与 tableview 交互,即使尝试点击搜索栏似乎也无法正常工作:

app.tables.searchFields["identifier"].tap()

将导致应用无响应(100% CPU 和不断增加的内存)。当我只用一小组单元格做完全相同的事情时,它工作得很好。

我的猜测是,堆栈的某些部分正在获取所有要查询的单元格。 有没有办法防止这种情况发生?

【问题讨论】:

找到答案了吗? 不,也提交了雷达,也没有运气 【参考方案1】:

也许使用 firstmatch 会有所帮助

https://developer.apple.com/documentation/xctest/xcuielementtypequeryprovider/2902250-firstmatch

当您调用 firstMatch 时,XCTest 会在找到匹配元素后立即停止遍历应用的可访问性层次结构,从而加快元素查询解析。

【讨论】:

【参考方案2】:

也可以使用 element(boundBy: Int): https://developer.apple.com/documentation/xctest/xcuielementquery/1500842-element

【讨论】:

以上是关于XCUITest:与具有许多单元格的表格进行交互的主要内容,如果未能解决你的问题,请参考以下文章

网页端表格设计指南

具有动态调整单元格的可折叠表格视图

如何使用 XCUITest 查询 SwiftUI 表格单元格

电子表格 - 基于其他单元格的条件格式单元格

对具有多行表格单元格的表格中的多行使用标签标记

使用具有 2 个不同原型单元格的数据加载表格视图