esedark
Menú
Volver a las notas

android / appium / uiautomator2 / móviles reales

Appium para Android: guía práctica para automatizar apps reales

Un sistema Appium estable controla el estado, usa selectores semánticos, registra evidencia y se detiene si la app cambia.

Appium sirve para probar aplicaciones Android y ejecutar procesos repetitivos autorizados en dispositivos bajo tu control. No autoriza a saltarse accesos, reglas, límites ni consentimiento. Define acciones permitidas y retención de datos antes de conectar el primer móvil.

Entiende la cadena de ejecución

El cliente envía comandos WebDriver a Appium y UiAutomator2 los traduce a acciones Android mediante ADB. El fallo puede estar en cliente, servidor, driver, transporte, Android o app. Fija versiones compatibles y asigna a cada dispositivo un serial y puerto únicos. Consulta UiAutomator2 explicado para desarrolladores backend.

Si estás evaluando una vía de control que no mantenga una conexión ADB, mi caso de Android MCP incluye criterios para evaluar un piloto por accesibilidad. Es una implementación distinta, probada en un Moto g04 con Android 14; no demuestra que sustituya tu cobertura de pruebas con Appium.

Haz determinista el estado

Empieza cada ejecución con pantalla activa, orientación conocida, idioma y zona horaria esperados, batería suficiente, red estable y versión correcta. Decide explícitamente si reinicias los datos. Verifica paquete, activity, permisos y espacio antes de aceptar trabajo.

Con varios móviles, reparte trabajos mediante una cola. Al terminar, captura la pantalla final y libera la sesión. Pon en cuarentena un móvil con fallos repetidos.

Usa selectores y esperas estables

Prefiere accessibility IDs y después resource IDs. El texto exige controlar idioma y los XPath largos son frágiles. Encapsula pantallas en page objects y espera estados visibles o habilitados en lugar de sleeps fijos.

Recupera sin ocultar defectos

Clasifica fallos de transporte, móvil, aplicación, entrada o flujo. Reintenta solo acciones seguras e idempotentes. Antes de repetir un envío, inspecciona el estado para no duplicarlo. Guarda screenshot, page source, log seguro, serial, versión, ID de correlación y último paso; nunca credenciales ni datos personales innecesarios.

Errores comunes

  • usar XPath para todo
  • compartir puertos entre sesiones
  • suponer estados idénticos
  • usar sleeps fijos
  • reintentar sin reconciliar
  • mezclar lógica y selectores
  • guardar credenciales en logs
  • ejecutar acciones ilimitadas
  • actualizar drivers sin pruebas

Checklist práctico

  • documentar autorización y datos
  • fijar versiones
  • asignar seriales y puertos
  • verificar salud del móvil
  • preferir selectores semánticos
  • usar page objects y esperas
  • limitar reintentos
  • capturar diagnóstico seguro
  • monitorizar éxito y latencia
  • ofrecer pausa y revisión manual

Cuándo contratar a una persona técnica

Contrata a un especialista cuando el prototipo deba ser un servicio, varios modelos trabajen en paralelo o los fallos afecten a clientes. El responsable diseña asignación, recuperación, secretos, métricas y pruebas. El reto es la estabilidad, no lograr un clic aislado.

Conclusión

Una buena automatización Appium genera ejecuciones repetibles y explicables. Para convertir un script frágil en servicio, revisa mis servicios técnicos o contacta conmigo.