¿Qué enfoque es el mejor? ¿Pruebas en dispositivos reales o simuladores / emuladores?Esta es una pregunta difícil porque ambas opciones ofrecen diferentes niveles de capacidad de prueba y flexibilidad al momento de la prueba. También hay muchos problemas asociados con cada uno. Así que mi respuesta será nuevamente: "¡Depende de tus necesidades!".
La prueba de ejecución en un dispositivo es, en mi opinión, la mejor solución porque ofrece un entorno de prueba completamente alineado con el entorno de ejecución: las pruebas se ejecutan en aquellos dispositivos donde sus aplicaciones se utilizarán una vez publicadas en las tiendas. Sin embargo, los dispositivos deben estar conectados a la Servidor de Appium Al menos a través de USB, y esto no siempre es algo muy bueno. ADB tiene un problema conocido por el cual un dispositivo se desconecta después de un tiempo (aunque permanezca conectado todo el tiempo): debido a esto, sus pruebas pueden fallar después de un tiempo y Appium informará que no se pudo encontrar un dispositivo. Tuve que escribir un componente que restablece ADB después de un tiempo para que los dispositivos no se desconecten.