test online emulator cross app iphone testing

emulator - test iphone online



XCode Test Automation para iPhone (8)

xcodebuild solo compilará el binario y no cargará el binario recién compilado al iphone.

en realidad, se puede cargar (después de firmarlo), pero no se ejecuta tan mal ... tal vez se pueda ejecutar usando gdb una vez conectado al objetivo, pero ¿cómo (ip ?, usb? usbnet?)?

Me gustaría que mi aplicación de prueba de iPhone se probara automáticamente en un iPhone. Los siguientes son los pasos que me gustaría tener:

  1. compilar, enlazar y codificar firmar la aplicación iphone (Xcodebuild)
  2. subir la aplicación recién construida para el iPhone
  3. ejecuta la aplicación cargada en el iPhone automáticamente
  4. recoger el resultado de la consola gdb
  5. cierra la aplicación

En este momento, tengo un problema con los pasos 2 y 3 en los que no puedo hacerlo automáticamente (puedo hacerlo desde XCode a través del botón "Crear y depurar". Sin embargo, esto requerirá un clic manual).

Hice una investigación en automator y no responde a mi problema. Otra opción en la que estoy pensando es compilar la aplicación para el simulador de iphone y ejecutarla desde allí, pero no estoy seguro de qué tan preciso será el resultado de la prueba en comparación con el dispositivo real.

Soy nuevo en el desarrollo de Mac / iPhone, quizás alguien tenga una mejor manera de probar esto. Cualquier comentario y aporte son bienvenidos. Gracias.


¿Podría agregar una fase de compilación al destino que ejecuta un script para cargar el binario en el iPhone?

Haga clic con el botón derecho en el destino, Agregar-> Nueva fase de compilación-> Nueva fase de compilación del script de ejecución


Echa un vistazo a iphone_testify , funciona bien con OCUnit y Google Toolbox For Mac, y creo que podría ser posible extenderlo a algo como UISpec.

Saludos



Hay una herramienta de línea de comandos "xcodebuild" a la que puedes llamar para iniciar una compilación XCode sin que esté abierta. Hay banderas que puedes usar para establecer objetivos y así sucesivamente.


La herramienta que probablemente desee utilizar para la compilación e instalación es Applescript. Algo como:

tell application "Xcode" to launch

No pretendo que esta sea una respuesta completa; Todavía hay muchas cosas por hacer. Pero creo que Applescript será una de tus herramientas clave.


La sección de comentarios no proporciona una buena manera de mostrar la solución correctamente. Aquí está el resumen de la respuesta.

La tarea de crear la aplicación de iPhone, cargar y activar el proceso de depuración en el iPhone se realiza a través de AppleScript. Aquí es cómo se ve el AppleScript:

tell application "Xcode" open "Users:chuan:Desktop:iphone_manual_client:iphone_manual_client.xcodeproj" tell project "iphone_manual_client" clean build (* for some reasons, debug will hang even the debug process has completed. The try block is created to suppress the AppleEvent timeout error *) try debug end try end tell quit end tell

AppleScript acepta ":" en lugar de "/" para el separador de archivos y carpetas.

La salida de la consola GDB se puede capturar configurando la opción GDB para escribirla en un archivo. Esto se hace escribiendo el siguiente comando en la Terminal:

defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <path to my gdb output file>

Por último, muchas gracias a varias personas que han ayudado a resolver este problema.