ios - XCUITest - 无法使用 iOS 11 找到图像的命中点

标签 ios image ios11 xcuitest

由于 iOS 11 XCUITest 不再能够找到 UIImages 的命中点,这导致无法点击图像或使用 press(forDuration:thenDragTo:) 将触摸拖到图像上.

有一个解决方法可以点击一个有效的图像(在 coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0)) 上使用 tap)。同样的方法不适用于 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)

关于ios - XCUITest - 无法使用 iOS 11 找到图像的命中点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47570330/

相关文章:

ios - 如何在 iOS 中推送整个 View ,包括导航栏和工具栏

ios - [Firebase/Core][I-COR000003] 尚未配置默认 Firebase 应用

html - ID 的 CSS 不影响 img 标签

swift - 如何使用 Swift 为 iPhone X 制作具有安全区域限制的 Webkit webView?

ios - 设备方向在标签栏应用程序中启动所有 View Controller

cocoa - Objective C打印: How to set header content?

image - ffmpeg 音频属性在输出视频中为空白

iOS 11UICollectionView 滚动到顶部卡住大标题

iOS 应用程序在后台播放音乐时被终止

android - Admob 在免费增值应用上的新用户流