如果我们要将 TableView 中的所有单元格放入一个数组并遍历它以单击元素。我正在寻找快速的解决方案。
问问题
690 次
2 回答
1
如果每个单元格都有不同的因素,那么你会得到一个数组。要使用文本字符串,我必须先获取单元格。所以这导致 - 如何获得单元格的计数并在获得单元格之后,向下钻取以查看这是否是文本,然后打开上下文菜单,否则做一些事情。
以下是您可以执行的操作: 继续在单元格上使用 'atIndex:'。使用 selectElementWithMatcher::withError。循环直到你找到 indexOutOfBoundsError 然后你应该有文本。
但是使用 atIndex: 循环时,您应该拥有所需的单元格。并做同样的事情,见下文:
for (int i = 0; i < someLargeValue; i++) {
EarlGrey.selectElementWithMatcher(grey_accessibilityID("abc")).atIndex(i)
}
-> 好的,要获取“someLargeValue”的值,请使用 selectElementWithMatcher::withError。循环直到你找到 indexOutOfBoundsError 然后你应该有文本。
于 2016-10-24T07:47:48.050 回答
0
这可以通过实现自定义GREYAssertionBlock
来实现UITableView
:
func assertTableView(_ accessibilityID: String, hasRowCount rowCount: Int, inSection section: Int) {
let cellCountAssert = GREYAssertionBlock(name: "cell count") { (element, error) -> Bool in
guard let tableView = element as? UITableView, tableView.numberOfSections > section else {
return false
}
let numberOfCells = tableView.numberOfRows(inSection: section)
return numberOfCells == rowCount
}
EarlGrey.selectElement(with: grey_accessibilityID(accessibilityID)).assert(cellCountAssert)
}
于 2019-12-10T14:08:06.860 回答