XCUITest – 无法使用iOS 11找到Image的生命值

由于iOS 11 XCUITest不再能够找到UI
Images的生命值,因此无法使用press(forDuration:thenDragTo :)点击图像或拖动触摸.

有一种解决方法可以点击一个有效的图像(使用坐标上的点击(withNormalizedOffset:CGVector(dx:0,dy:0))).同样的方法对thenDragTo方法不起作用,因为它需要一个XCUIElement.

有没有人知道如何使thenDragTo方法工作(最好不必编辑生产代码)?

提前致谢

最佳答案 它在
Xcode 9.2中的测试中接受XCUICoordinate

extension XCUICoordinate {
    open func press(forDuration duration: TimeInterval, thenDragTo otherCoordinate: XCUICoordinate)
}

我可以像这样使用它:

let fromCoordinate = contentElement.coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.5))
let toCoordinate = fromCoordinate.withOffset(CGVector(dx: 0, dy: 260))
fromCoordinate.press(forDuration: 0.01, thenDragTo: toCoordinate)
点赞