viernes, 12 de junio de 2026

Que hacer cuando tengo varios elementos con el mismo id en Android/IOS

Buenas tardes lectores.


Uno de los grandes retos en la automatización móvil es lidiar con elementos que comparten el mismo resource-id o name, pero que no siempre contienen la información que necesitamos. Aquí es donde los selectores refinados con atributos adicionales se convierten en tus mejores aliados.

📱 Caso Android

El selector básico:

//android.view.View[@resource-id='alarmTagCounter']

trae múltiples elementos, algunos sin content-desc. Para enfocarte solo en el que realmente aporta valor, lo mejor es usar:


//android.view.View[@resource-id='alarmTagCounter' and @content-desc]
  • Cuándo aplicar: cuando necesitas validar accesibilidad o identificar un elemento que expone información en content-desc.

  • Por qué es bueno: evita falsos positivos, mejora la estabilidad de tus pruebas y asegura que interactúas con el elemento correcto.

  • Escenarios típicos: validación de etiquetas de accesibilidad, pruebas de UI donde el texto visible no es confiable, automatización de flujos con elementos dinámicos.

🍏 Caso iOS

El equivalente en iOS parte de:


//XCUIElementTypeStaticText[@name='alarmTagCounter']

pero para garantizar que el elemento tenga información útil en label, lo refinamos así:


//XCUIElementTypeStaticText[@name='alarmTagCounter' and @label]
  • Cuándo aplicar: cuando el name no es suficiente y necesitas validar que el label esté presente.

  • Por qué es bueno: incrementa la precisión, reduce el mantenimiento de scripts y asegura que tus pruebas reflejen la experiencia real del usuario.

  • Escenarios típicos: validación de textos renderizados, pruebas de accesibilidad, automatización de notificaciones o contadores visibles.

🌟 Beneficios generales

  • Robustez: reduces el riesgo de que tus pruebas fallen por cambios menores en la UI.

  • Mantenibilidad: al usar atributos semánticos (content-desc, label), tus scripts son más fáciles de entender y mantener.

  • Accesibilidad: promueves buenas prácticas al validar atributos pensados para usuarios con necesidades especiales.

  • Escalabilidad: puedes reutilizar estos patrones en múltiples escenarios y proyectos.

En conclusión, usar selectores como

  • //XCUIElementTypeStaticText[@name='alarmTagCounter' and @label]

  • //android.view.View[@resource-id='alarmTagCounter' and @content-desc]

es una estrategia clave para elevar la calidad de tu automatización móvil. No solo te ayudan a interactuar con los elementos correctos, sino que también fortalecen la confiabilidad de tus pruebas en entornos complejos.

Cabe recordar que esto no debería ocurrir dado que todos los elementos deberian ser únicos en interfaz, sin embargo siempre es bueno tener nuestro plan b.


Saludos.



martes, 2 de junio de 2026

Como conectar tu dispostivos Huawei/Honor a appium inspector sin que se desconecte por USB

Buenas tardes lectores,

Si estás comenzando en el mundo de la automatización móvil y trabajas con un dispositivo chino, seguramente te has topado con un problema bastante común: al abrir el Appium Inspector, la conexión por USB se cae. Esto ocurre con frecuencia en marcas como Huawei o Honor, especialmente cuando se inicia UiAutomator2.

La solución más estable es olvidarse del cable y usar ADB en modo TCP/IP. Con esta técnica, tu dispositivo se conecta por Wi‑Fi y eliminas de raíz los problemas de drivers o desconexiones físicas.


# 1. Conecta el dispositivo por USB y asegúrate que adb lo ve

adb devices


# 2. Activa el modo TCP/IP en el puerto 5555

adb tcpip 5555


# 3. Obtén la IP del dispositivo (ejemplo: 192.168.1.25)

adb shell ip route

# o

adb shell ifconfig wlan0


# 4. Conéctate por esa IP

adb connect 192.168.1.25:5555


# 5. Verifica que aparece como device

adb devices


Beneficios de usar ADB por Wi‑Fi

  • Estabilidad: elimina desconexiones al iniciar UiAutomator2.

  • Flexibilidad: puedes moverte con el dispositivo sin depender del cable.

  • Compatibilidad: funciona en la mayoría de dispositivos Android, incluso en aquellos con drivers problemáticos.


Ya sabes que cuando estes en automatización móvil sin desconexiones usan ADB por Wi‑Fi.

Saludos.