Múltiple simulador de iOS simultáneo

Estoy trabajando para configurar el flujo automático de testing / compilation iOS. Algunas herramientas que he usado son,

  • Bamboo CI (como Jenkins)
  • Calabash-ios
  • algunos bash self-brewed para envolver el checkout / build / test flow
  • solo simulador para ejecutar la testing, sin dispositivo real por ahora
  • un mini Mac dedicado para compilation automática / testing

Para que los sofisticados casos de testing se ejecuten en paralelo, se necesitan múltiples simuladores que se ejecuten simultáneamente. Utilicé esta herramienta para habilitar múltiples simuladores (por defecto el simulador de iOS no permite varias instancias), y ahora puedo ejecutarlos en diferentes consoles VNC de diferentes usuarios a mi Mac mini.

Luego encontré otro problema que el marco de Calabash iOS parece codificado en el puerto (37265) para que el externo se conecte (biblioteca de cliente de pepino), así que todavía no puedo ejecutar la testing de Calabash concurrente ya que la instancia del simulador diferente entrará en conflicto en el mismo puerto 127.0.0.1: 37265

Sin embargo, calabash-pepino permite especificar la ip: puerto del dispositivo de testing (o simulador) para conectarse, si puedo crear simulador previamente para escuchar diferentes ip, cargar la aplicación explícitamente e indicarle al pepino que se conecte al ip: puerto especificado, luego el La idea de testings simultáneas todavía funciona. Pero parece que el simulador de iOS de alguna manera está codificado para escuchar la interfaz 127.0.0.1, ¿verdad? ¿Alguna idea de cómo decirle al simulador que se conecte a la interfaz de networking especificada? Si es factible, simplemente configure múltiples interfaces de usuario de testing + múltiple hará posible la testing paralela en el emulador de iOS.

Pero también hágamelo saber si lo estoy haciendo de la manera incorrecta. Gracias.

El puerto de Calabash ahora se puede cambiar por aplicación agregando el triple siguiente a Info.plist de la aplicación:

CalabashServerPort NSNumber < port number > 

Seguirá limitado las restricciones de Apple sobre el process de los instrumentos: solo puede haber un process de instrumentos activos. Además, la herramienta de command-line de instrumentos no funcionará si la aplicación Instruments.app está abierta.

Otras publicaciones han recomendado el uso de máquinas virtuales, pero no tengo experiencia con esto.