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.
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.