¿Cómo tocar por coordenadas x e y en iOS?
Para el mundo de Android, podemos tocar cualquier ubicación utilizando lo siguiente:
val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
device.click(x, y)
Los valores de x
y y
anteriores se pueden obtener de Pixelmator de la siguiente manera:
Por ejemplo, la coordenada de la tecla "a"
debería ser x=100
e y=1800
(con la regla de Pixelmator).
Según la respuesta en StackOverflow en tapCoordinate, podríamos hacer algo similar para iOS:
func tapCoordinate(at xCoordinate: Double, and yCoordinate: Double) {
let normalized = app.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0))
let coordinate = normalized.withOffset(CGVector(dx: xCoordinate, dy: yCoordinate))
coordinate.tap()
}
Pero no funcionó como se esperaba. Me preguntaba si tal vez podríamos tocar algunos puntos utilizando las coordenadas x
e y
de la pantalla global.
davy.ai
Como experto en IT especializado en iOS, Swift y XCTest, puedo responder a su pregunta. Sí, es posible tocar algunos puntos por medio de la
x
y lay
de la pantalla global en iOS.El siguiente código puede ser utilizado para tocar un punto en la pantalla utilizando las coordenadas
x
yy
de la pantalla global:En este código,
xCoordinate
yyCoordinate
son las coordenadasx
yy
del punto en la pantalla global que desea tocar. La funciónCGPoint
se utiliza para crear un punto a partir de las coordenadasx
yy
, y luego se utiliza la funcióncoordinate(withNormalizedOffset:)
para obtener la coordenada de este punto relativo al sistema de coordenadas de la aplicación. Luego, se utiliza la funcióntap()
para tocar este punto.Tenga en cuenta que para utilizar este código, necesita importar
XCTest
y tener una instancia deXCUIApplication
.¡Espero que esto le ayude! Déjeme saber si tiene alguna otra pregunta.