如何通过Xcode中的UITests下的标识符访问详细信息披露按钮?

时间:2016-06-17 07:21:56

标签: ios xcode swift uitableview xcode-ui-testing

let app = XCUIApplication()
let studentsTable = app.tables["studentsTable"]
let detailButton = studentsTable.buttons["More Info, TestName, TestUserName, 2"]

它有效,但我很确定,有一种更优雅的方式。

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以通过设置辅助功能标识符直接访问该按钮。在表格示例中,您可以在表格视图的数据源中执行此操作。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier(Cell.Identifier, forIndexPath: indexPath)
    cell.accessoryView = UIButton() // your custom button
    cell.accessoryView?.accessibilityIdentifier = "Cell \(indexPath.row + 1) Button"
    return cell
}

然后,您可以在UI测试中单独点击每个按钮。

let app = XCUIApplication()
let firstAccessoryButton = app.buttons["Cell 1 Button"]
firstAccessoryButton.tap()