例如,我有一个草图垫应用程序,我想通过绘制它来测试.我想指定一个(x,y)坐标,然后点击并拖动到另一个(x,y)坐标.
这在Xcode UI测试中是否可行?
Joe为这个问题提供了一个解决方案:使用目标C,我的代码看起来像这样:
XCUICoordinate *start = [element2 coordinateWithNormalizedOffset:CGVectorMake(0, 0)]; XCUICoordinate *finish = [element2 coordinateWithNormalizedOffset:CGVectorMake(0.5, 0.5)]; [start pressForDuration:0 thenDragToCoordinate:finish];
这里element2
是XCUIElement我不得不执行的阻力.
您可以使用XCUICoordinate
在UI测试中点击和拖动元素.以下是如何通过表格单元格坐标进行刷新的示例.
let firstCell = app.staticTexts["Adrienne"] let start = firstCell.coordinateWithNormalizedOffset(CGVectorMake(0, 0)) let finish = firstCell.coordinateWithNormalizedOffset(CGVectorMake(0, 6)) start.pressForDuration(0, thenDragToCoordinate: finish)
如果您没有要引用的元素,则应该能够基于创建任意坐标XCUIApplication
.
let app = XCUIApplication() let fromCoordinate = app.coordinateWithNormalizedOffset(CGVector(dx: 0, dy: 10)) let toCoordinate = app.coordinateWithNormalizedOffset(CGVector(dx: 0, dy: 20)) fromCoordinate.pressForDuration(0, thenDragToCoordinate: toCoordinate)
UI测试没有官方文档,但如果您对更多细节感兴趣,我已经删除了标题并整理了一个XCTest Reference.