UITest tap 在使用 iPhone X 的 iOS 12.4 上不起作用(适用于 iPhone 7)
Posted
技术标签:
【中文标题】UITest tap 在使用 iPhone X 的 iOS 12.4 上不起作用(适用于 iPhone 7)【英文标题】:UITest tap not working on iOS 12.4 using iPhone X (works on 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 上工作 :)
你建议我做什么?也许你有一个很好的调试技巧来查看它试图点击的确切位置?
【问题讨论】:
【参考方案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)
【讨论】:
以上是关于UITest tap 在使用 iPhone X 的 iOS 12.4 上不起作用(适用于 iPhone 7)的主要内容,如果未能解决你的问题,请参考以下文章
在 Xcode UITest 中使用 typeText 时,第二个单词总是消失
Xamarin.UITest 与 OS X 10.15 不兼容?
在 iPhone 11 上,使用自定义视图,为啥我的 Tap Recognizer 或 UIButton 在视图的顶部没有响应但在视图的下部有效