Tengo un campo de búsqueda en mi aplicación y he configurado el tipo de clave de devolución del teclado para este campo en UIReturnKeyNext
. Estoy intentando escribir una prueba UIAutomation que hace clic en el botón Siguiente en el teclado mediante la siguiente línea:Haciendo clic en la tecla 'Siguiente' del teclado usando UIAutomation
UIATarget.localTarget().frontMostApp().mainWindow().keyboard().keys().firstWithName("next");
Esta llamada está fallando porque la clave con el nombre 'siguiente' no está siendo encontrado. He hecho un volcado de todos los elementos en mi aplicación usando:
UIATarget.localTarget().frontMostApp().logElementTree();
Esto revela que hay de hecho una tecla en el teclado con el nombre de 'siguiente', pero de alguna manera mi intento de recuperarlo como demostración arriba todavía falla Sin embargo, puedo recuperar otras claves (como la clave para la letra 'u') usando este método. ¿Hay algún problema conocido aquí o estoy haciendo algo mal?
He intentado otras variaciones sin suerte:
UIATarget.localTarget().frontMostApp().mainWindow().keyboard().elements()["next"];
Aquí está una captura de pantalla de los elementos en mi UIAKeyboard:
Intenté ambas cosas y no tuve suerte. Gracias por las sugerencias sin embargo. – kodie
Julien, su respuesta me llevó a jugar de nuevo con esto, y al usar la función de botones() condujo a una solución de trabajo. Esto es lo que funciona para mí: UIATarget.localTarget(). FrontMostApp(). MainWindow(). Teclado(). Botones(). FirstWithPredicate ("nombre contiene [c] 'siguiente'"); Me parece que los botones() ["siguiente"] deberían haber funcionado y no sé por qué no lo hizo, pero lo anterior funciona. Gracias por la sugerencia. – kodie