我正在尝试编写一个UITest,其中涉及点击UITableViewCell中的按钮。
当我在点击单元格时尝试录制我的点按操作时,XCode会生成以下行:
[[[[[XCUIApplication alloc] init].tables childrenMatchingType:XCUIElementTypeOther] elementBoundByIndex:1].otherElements[@"Problems"] tap];
播放时,这会导致与单元格本身相同的操作,这不是我想要的。
有没有办法让它专门按下按钮?
答案 0 :(得分:3)
在自定义按钮上设置辅助功能标识符。然后您可以直接在测试中访问它。
申请代码:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = UITableViewCell()
cell.accessoryView = CustomButton()
cell.accessoryView.accessibilityIdentifier = "New Problem \(indexPath.row)"
}
测试代码:
let app = XCUIApplication()
app.buttons["New Problem 42"].tap()