所以你想找到一个tableView的单元格然后点击它。
此解决方案是在 Xcode 9.0 beta 6 中使用 Swift 4 测试后发布的
正如 Oletha 在评论中提到的,最好通过打印 debugDescription 来了解视图的层次结构:
let app = XCUIApplication()
override func setUp() {
super.setUp()
continueAfterFailure = false
app.launch()
print(app.debugDescription)
}
打印语句将为您提供视图及其层次结构的详细列表。
接下来,您应该将 accessibilityIdentifier 添加到您的表格视图和单元格中,如下所示:
a) 在您的 viewDidLoad() 或控制器的任何其他相关函数中-
myTableView.accessibilityIdentifier = “myUniqueTableViewIdentifier”
b) 在你的 tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) 函数内部-
cell.accessibilityIdentifier = "myCell_\(indexPath.row)"
完成后,您可以在测试用例中编写以下代码以获得所需的结果:
let myTable = app.tables.matching(identifier: "myUniqueTableViewIdentifier")
let cell = myTable.cells.element(matching: .cell, identifier: "myCell_0")
cell.tap()
请注意,这只会帮助您找到并点击所需的单元格,您可以在测试用例中添加一些 XCTAssert 检查以使其更有用。
P.S.:网上有很多指南可以帮助您学习使用 Xcode 进行 UI 测试。例如:https://blog.metova.com/guide-xcode-ui-test/