En Google, construimos un robot (TouchBot) para hacerlo.
Hice ingeniería inversa del colgante de enseñanza para un controlador de robot industrial de Toshiba, y configuré el acoplamiento capacitivo, que se consigue bastante fácilmente conectando una antena celular de portátil sobrante o una antena WiFi de 2,4GHz al «dedo».
Esto sustituye a la «bolsa de agua»/»antena de carne» que normalmente se requiere para el acoplamiento, por lo que un lápiz táctil controlado por un robot no va a hacer lo que esperas.
Como parte de esto publiqué la técnica, y varios investigadores en Alemania la han adaptado a los brazos artificiales Bochs para permitir el uso de dispositivos táctiles por parte de personas obligadas a usar prótesis (algo que antes no era posible).
Escribí todo el código de la librería de acción del robot y del sustituto del lápiz óptico en Python. Creo que se publicó en GitHub como parte de Chromium OS, abajo en el subárbol de pruebas. Fue el último proyecto que hice antes de dejar Google.
Si se ha añadido desde entonces: la intención era capturar la replicación de gestos para probar los algoritmos de reconocimiento, los patrones de campo en las rejillas de entrada táctil, y así sucesivamente, así que eso es probablemente lo que estaría allí.
Técnicamente, es posible hacer en el software solo usando un par de paquetes publicados, pero sólo funcionan en iPhones jailbreak.
Lo cual supongo que estaría bien, si los lanzaras a un laboratorio de pruebas de software, pero date cuenta de que los eventos táctiles tienen una barbaridad de datos asociados, y ahora que Apple ha añadido la detección de presión, una barbaridad más.
Tenga en cuenta, sin embargo, que internamente, el controlador táctil trata los toques como secciones transversales cónicas regionales, no estrictamente como puntos.
Lo que esto significa es que si usted simula eventos de puntos, va a tener un tiempo difícil convencer al dispositivo de que realmente está utilizando «dedos». Un robot, por supuesto, no tiene este tipo de problemas.
Por otro lado (perdón por el juego de palabras), es mucho más fácil hacer un volcado de pantalla y comparar los resultados reales con los esperados, que usar una cámara y el reconocimiento de imágenes, y eso, además, requiere hacer jailbreak al iPhone.
Por otro lado (¿la gente tiene tantos?), el problema de golpear exactamente un píxel en el área de destino cuando crees que estás golpeando el centro del objetivo, dará lugar a falsos éxitos para los «toques» de software, incluso si están fuera del centroide geométrico probable de un toque real (traducción: lo que el usuario toca no será lo que obtienen).
La mejor apuesta sería un robot físico, con un iPhone jailbreak para obtener volcados de pantalla perfectos de píxeles reales, lo que le daría coherencia visual de salida / entrada táctil para las pruebas.