iphone - español - ¿Se puede ejecutar el instrumento de automatización de UI desde la línea de comando?
workflow ios ejemplos (9)
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.
¿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?
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.
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:
- Construya su proyecto en Xcode para el simulador (el soporte del dispositivo estará disponible en breve).
- cd donde se encuentra el .xcodeproj o .xcworkspace de su proyecto.
- Ejecute
uiauto exec path/to/your/script.js
.
Escriba este comando en instrumentos terminales -s, obtiene la ruta de la plantilla después del tipo:
instruments -t <template path> <Application file path> -e UIASCRIPT <script.js> UIARESULTPATH <result_path>
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 :)
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/
También me interesé mucho en este tema. Lo que encontré en realidad es esta http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/instruments.1.html 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
instruments -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments//
PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /
<full_path_to_application> -e UIASCRIPT <path_to_script.js> /
-e UIARESULTSPATH <output_results_path>
para xcode> = 4.5
instruments -t
/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns//
AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /
<full_path_to_application> -e UIASCRIPT <path_to_script.js> /
-e UIARESULTSPATH <output_results_path>
para xcode> = 6.1
instruments -w <device ID> -t /
/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns//
AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate /
<full_path_to_application> -e UIASCRIPT <path_to_script.js> /
-e UIARESULTSPATH <output_results_path>
Hay algunas cosas importantes a tener en cuenta:
- 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.
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.
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.
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.