¿Cómo puedo obtener identificadores, nombres o rutas x para elementos ui utilizados en una aplicación para móviles (Android / iOS) para pruebas de automatización móvil?

Quiero saber cómo puedo obtener IDs o nombres de elementos de interfaz de usuario utilizados en una aplicación móvil que se utilizan en pruebas de automatización móvil como appium, monkey-talk, xamarian, etc.

Lo que explico es para mi sistema (Windows 7), pero mis explicaciones deben ser fácilmente traducibles a otros sistemas también.

Requisitos previos :

  • Cuando desee realizar las pruebas de automatización de Android siempre debe instalar Android SDK, por lo que supongo que ya lo ha hecho. Permite llamar a la ruta a la carpeta sdk <ANDROID_HOME> (incluida la carpeta sdk )
  • Ejecute <ANDROID_HOME>/SDK Manager.exe . Selecciona las últimas herramientas de Android SDK y las herramientas de la Plataforma SDK de Android e instálelas
  • Conecte un dispositivo que desee probar:
    • Ejecute un emulador – se conecta automáticamente en su sistema
    • O conecte un dispositivo físico e instale los controladores USB adecuados. Usted puede verificar que el dispositivo está conectado con el comando <ANDROID_HOME/platform-tools/adb.exe devices – si hay al menos un dispositivo en la lista que está bien para ir.

Una vez que tengas todo eso:

Ejecute <ANDROID_HOME>/tools/uiautomatorviewer.bat . Esto abrirá una pantalla que le permitirá tomar capturas de pantalla del dispositivo conencionado. Vea abajo la imagen:

Introduzca aquí la descripción de la imagen

La captura de pantalla se realiza haciendo clic en el botón debajo del rectángulo morado, que agregué artificialmente. El rojo es agregado por la herramienta, porque fluctúo el elemento de interés. Puede observar las propiedades de los elementos a la derecha. Éstas son generalmente las propiedades que usted utilizaría para probar la aplicación nativa.

Si desea probar elementos que se cargan en WebView entonces sería mejor si utiliza la depuración remota de Chrome para obtener los selectores correctos.


Nota:

Como veo que usted está haciendo los primeros pasos en las pruebas de automatización móvil, que es un área que estoy muy interesado en, puedo sugerirle echar un vistazo a la ATMOSPHERE Android marco de automatización de pruebas. Descargo de responsabilidad : Soy uno de sus creadores. Aún así – es libremente disponible y de código abierto. También creemos que ofrece capacidades no soportadas en otros marcos y es fácil de comenzar con lo que espero que sea útil para usted!

DO#

En mi caso este pedazo de código resolvió mi problema:

  private IApp _app = ScenarioContext.Current.Get<IApp>("Application"); private readonly ILoginScreen _loginScreen; private readonly IMainMenuScreen _mainMenuScreen; public Login(ILoginScreen loginScreen, IMainMenuScreen mainMenuScreen) { _app.Repl(); _loginScreen = loginScreen; _mainMenuScreen = mainMenuScreen; } 

Estoy usando el lenguaje Gherkin con Xamarin en el que el comando Repl () abre un nuevo cmd en el que puede escribir el comando tree y obtener la estructura de árbol de los elementos ui en la pantalla específica que está. Esto se muestra en la siguiente imagen:

Prueba de la interfaz de usuario de Xamarin

  • Android Marshmallow Permisos de Pruebas
  • Android en las pruebas de suscripción de aplicaciones
  • Cómo detener y reiniciar una actividad en una prueba de instrumentación de Android?
  • Prueba de suscripción en Android: elemento no encontrado
  • ¿Cómo probar la función de sincronización de ejecución en android?
  • Prueba de unidad automatizada para Android / Ant
  • Prueba de Android fuera del espacio de almacenamiento
  • ¿Cómo puedo ejecutar el código en el hilo de la interfaz de usuario en una prueba de Android JUnit sin una actividad?
  • Cómo generar html informe con gradle 1.12?
  • Soluciones actuales para probar aplicaciones de Android
  • Saltar prueba para la variante de construcción específica en Android + Gradle?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.