¿Se puede ejecutar el instrumento de automatización de UI desde la línea de comando?

¿Hay alguna manera de abrir el instrumento UIAutomation través de la terminal?

¿Será posible escribir un AppleScript para abrir la herramienta UIAutomation de Apple y cargar la aplicación que se probará?

¿Puede decirme por favor si hay alguna forma de UIAutomation secuencias de comandos o mediante la línea de comandos podemos abrir UIAutomation y seleccionar la aplicación que se probará, así como seleccionar el script de prueba?

 instruments -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/\ PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate \  -e UIASCRIPT  \ -e UIARESULTSPATH  

para xcode> = 4.5

 instruments -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/\ AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate \  -e UIASCRIPT  \ -e UIARESULTSPATH  

para xcode> = 6.1

 instruments -w  -t \ /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/\ AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate \  -e UIASCRIPT  \ -e UIARESULTSPATH  

Hay algunas cosas importantes a tener en cuenta:

  1. el parámetro -w no es necesario a menos que desee ejecutar los scripts en su dispositivo. Si desea ejecutar sus scripts en el simulador, simplemente omita este parámetro del comando.
  2. full_path_to_application es la ruta a tu archivo .app creado por tu simulador. Para mí, el camino fue

    / Users / fwasim / Library / Application Support / iPhone Simulator / 5.0 / Applications / AA6BA2E1-D505-4864-BECC-29ADEE28194D / name_of_application.app

    esta ruta puede ser diferente para cualquier otra persona dependiendo de la versión de iOS que ejecute en su simulador. Recuerde también poner esta ruta entre comillas dobles.

  3. El path_to_script.js debe ser la RUTA COMPLETA hasta donde se guarda el script de automatización escrito en javascript. Recuerde también poner esta ruta entre comillas dobles.

  4. Por último, la ruta de resultados de salida es la ruta en la que desea guardar los resultados de salida. Recuerde también poner esta ruta entre comillas dobles.

Estos eran los puntos en los que me había perdido y, por lo tanto, recibía algunos de los errores mencionados anteriormente.

Inicio de UIAutomation a través de línea de comandos Puede hacerlo ahora, comenzando con XCode 4.2 para iOS5 beta 4 Desde la línea de comandos, puede ejecutar instrumentos apuntando a la plantilla de automatización y especificar como variables de entorno el script de prueba que desea ejecutar y la ruta de destino para los resultados:

instrumentos -w -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate -e UIASCRIPT

Arriba es de esta url fuente: http://dev-ios.blogspot.com/2011/07/starting-uiautomation-via-command-line.html

Vea más detalles en la línea de comando de Apple en: http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/instruments.1.html

Además de la publicación del usuario de Stacktrace en la línea de comandos ejecutada con iPhone iOS UIAutomation ¿Se pueden usar los instrumentos con la línea de comandos?

Espero que esto ayude, que tengas un buen día 🙂

Actualizado y probado para Xcode 6.0.1 :

 instruments -w 'iPhone 5s' \ -t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \ '/Users/sohail/Library/Developer/CoreSimulator/Devices/7232A640-A9D2-4626-A2AD-37AFFF706718/data/Containers/Bundle/Application/E71B915E-051D-4BEF-9083-34416D02EC91/RoadRunnerRadar.app' \ -e UIASCRIPT '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestRunner.js' \ -e UIARESULTSPATH '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestResults/' 

Inspirado por otros que escribieron envoltorios de línea de comandos que no se han actualizado en un momento, y por lo tanto no funcionó (y parecía difícil dar sentido a la tentación de resucitarlos), escribí un guión bash que Creo que será más transparente, más ligero y, por lo tanto, más fácil de mantener.

Puede encontrar el proyecto en github y una publicación de blog complementaria.

En lugar del comando de instruments largos, escribí un contenedor que es más fácil de usar: https://github.com/enriquez/uiauto

Para usarlo, solo tienes que hacer lo siguiente:

  1. Construya su proyecto en Xcode para el simulador (el soporte del dispositivo estará disponible en breve).
  2. cd donde se encuentra el .xcodeproj o .xcworkspace de su proyecto.
  3. Ejecute uiauto exec path/to/your/script.js .

Con cada nueva versión de Xcode, la ruta de la plantilla parece cambiar. Una de las mejores formas de descubrir la ruta de la plantilla es el comando instruments -s que enumeraría todas las plantillas disponibles.

También me interesé mucho en este tema. Lo que encontré en realidad es esta referencia que muestra que hay una forma de lanzar instrumentos desde el terminal con una plantilla predefinida, la ubicación donde se deben almacenar los resultados y el dispositivo de destino en el que debe ejecutarse, y otros parámetros. También puede escribir instruments terminales para obtener la lista de parámetros.

No tuve éxito al ejecutar UI Automation en iPhone de esta manera. No he probado la aplicación de simulador o mac ya que estoy interesado principalmente en el dispositivo. He publicado una pregunta aquí en SO pero de la falta de respuesta creo que no muchas personas están usando instrumentos de esta manera.

Pero existe la esperanza de que funcione, ya que no es su hilo corto en el foro de desarrolladores de Apple (es necesario iniciar sesión) que sugieren que se puede hacer. Lo intentaré más tarde, si tengo éxito, publicaré la solución aquí. Si logras hacerlo funcionar, pídelo aquí, ya que yo (y probablemente otros) estarán interesados.

hay una herramienta para grabar / reproducir eventos UI con entorno shell, y podría escribir script con ruby.

desarrollo de aplicaciones interactivas para iPhone http://github.com/wookay/libcat

Escriba este comando en instrumentos terminales -s, obtiene la ruta de la plantilla después del tipo:

 instruments -t  

La forma correcta de hacerlo en un simulador de iOS es la siguiente:

 instruments -w 'iPhone 5s (9.1)' \ -t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \ 'justTheNameOfYourAppDontAddExtension' \ -e UIASCRIPT '/Users/barry/Dropbox/Public/login.js' \ -e UIARESULTSPATH '/Users/barry/Dropbox/Public/