我使用 swift 的 UI 测试,我需要能够点击我的应用程序上的特定点。我遵循了 How to tap on a specific point using Xcode UITests 的答案,非常适合在 iPad 上进行测试。然而,当在模拟器上做同样的事情时,什么也没有发生。没有错误,程序只是像我在按某物,但没有任何特别的东西,并且由于不存在正确的信息,程序无法继续执行。
这可能是本地问题吗?如果不是,我该怎么做才能在模拟器上点击特定坐标?
最佳答案
嗯,您不能只点击屏幕。你必须点击一些东西。
最简单的做法是使用应用程序中的元素和 Apple 的方法 coordinate(withNormalizedOffset:)
。
创建一个方法,它将具有输入参数元素(您想要点击)和偏移量(您想要点击的点)。像这样:
func tap(on element: XCUIElement, xOffset: Double, yOffset: Double) {
let coordinate = element.coordinate(withNormalizedOffset: CGVector(dx: xOffset, dy: yOffset))
if element.waitForExistence(5) {
coordinate.tap()
}
}
然后,您可以通过调用此方法并为其提供元素来点击测试应用中的任何元素。
例如:
你想点击应用程序本身的某个点,偏移量为 0.8
和 0.5
:
tap(on: XCUIApplication(), xOffset: 0.8, yOffset: 0.5)
关于ios - 如何点击 Xcode 模拟器上的特定点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53186926/