如何在Xcode UI测试中点击UITableViewCell的详细信息按钮?

时间:2017-07-22 20:56:43

标签: xcode-ui-testing

我有UITableViewCell配置了详细信息按钮和辅助功能标识符:

private func configure(cell: UITableViewCell, at indexPath: IndexPath) {
    let item = fetchedResultsController.object(at: indexPath)
    // ...
    cell.accessoryType = .detailButton
    cell.accessoryView?.accessibilityLabel = "Item Details"
    // ...
}

在UI测试方法中,我需要点击单元格的详细信息按钮,我尝试使用以下方法:

private func getScreenshotOfItemToEdit() {
    app.tables.element(boundBy: 0).cells.element(boundBy: 0).buttons["Item Details"].tap()
    itemQuantityTextField().tap()
    itemQuantityTextField().typeText("2")
    snapshot("04-EditItem")
    saveItemBarButtonItem().tap()
}

测试在第一行失败,但我无法弄清楚原因。

我需要更改哪些内容才能在UI测试中点击单元格的详细信息按钮?

1 个答案:

答案 0 :(得分:0)

为了确保您尝试与之交互的项目存在,我建议您打印应用程序的调试说明

print(XCUIApplication().debugDescription)

这将为您提供屏幕上的所有元素及其可访问性标识符,标签和值。

使用您提供的代码后,我实际上无法将accessibilityLabel的{​​{1}}设置为accessoryView。设置"Item Details"也不起作用。

好消息是您仍然可以使用以下代码

来访问开箱即用的详细信息按钮
accessibilityIdentifier