我需要重新排序单元格UITests
。UITableView
是否可以?我试过myTable.swipeDown()
了,但它在那个对重新排序没有响应的单元格的地方被调用。我怎样才能做到这一点?有可能吗?
问问题
643 次
3 回答
5
如果您正确设置了自定义单元集的可访问性属性,那么重新排序控件应该是可访问的。假设单元格将其可访问性标签/标识符分别设置为“LondonStreet”和“BakerStreet”。
您可以通过点击并从一个重新排序控件拖动到下一个来重新排序单元格。这些控件的可访问性标识符是根据单元格的信息自动设置的。
let app = XCUIApplication()
app.launch()
let topButton = app.buttons["Reorder LondonStreet"]
let bottomButton = app.buttons["Reorder BakerStreet"]
bottomButton.pressForDuration(0.5, thenDragToElement: topButton)
前缀由"Reorder "
操作系统设置。尝试使用 Accessibility Inspector 查看重新排序控件的值是什么。
于 2015-09-10T15:51:29.720 回答
0
更通用的解决方案:(如果您不知道标题)
guard let firstCell = app.cells.allElementsBoundByIndex.first, let topButton = firstCell.buttons.allElementsBoundByIndex.last else { XCTFail("no reoder btn for first cell"); return }
guard let bottomCell = app.cells.allElementsBoundByIndex.last, let bottomButton = bottomCell.buttons.allElementsBoundByIndex.last else { XCTFail("no reoder btn for last cell"); return }
topButton.press(forDuration: 0.5, thenDragTo: bottomButton)
于 2019-08-20T11:47:36.307 回答