【问题标题】:UITest tap not working on iOS 12.4 using iPhone X (works on iPhone 7)UITest tap 在使用 iPhone X 的 iOS 12.4 上不起作用(适用于 iPhone 7)
【发布时间】:2021-02-15 11:22:46
【问题描述】:

这可能与 iOS12.4(实际上也是 12.2)中的 SafeArea 问题有关吗? 我在 UITests 期间使用以下函数点击视图。

func tapAtLocation(_ element: XCUIElement) -> Self {
    let loc = element.coordinate(withNormalizedOffset: .init(dx: 0, dy: 0))
    loc.tap()
    return self
}

我尝试点击特定图像的位置。 所以我得到图像并触发点击

let myImage = App.images[myImageViewIdentifier].firstMatch
tapAtLocation(myImage)

它适用于新的 iOS 版本,也适用于 iPhone 7 iOS 12.4,但不适用于 iPhone X。 我需要它在 iPhone X 上工作 :)

你建议我做什么?也许你有一个很好的调试技巧来查看它试图点击的确切位置?

【问题讨论】:

    标签: swift xcode xcode-ui-testing


    【解决方案1】:

    好的!经过一天的失败和重试,一个简单的解决方案成功了!

    func tapAtLocation(_ element: XCUIElement) -> Self {
        let loc = element.coordinate(withNormalizedOffset: .init(dx: 0.5, dy: 0.5))
        loc.tap()
        return self
    }
    

    这适用于所有装有 iOS 12.4 和 13+ 的设备(iPhone X、7 和 11)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-25
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多