No hay identificación para mi prueba de interfaz de usuario de Android

Me gustaría escribir algunas pruebas de interfaz de usuario en mi aplicación de Android con el fin de tomar capturas de pantalla automatizadas.

Mi solicitud está escrita con React-Native.

Con el fin de escribir mis pruebas en necesidad de conocer el recurso-id de mi componente, pero como se puede ver en esta captura de pantalla no puedo ver ningún recurso-id con ui Automator Viewer en esta aplicación React-Native ejemplo.

Mira esta foto.

Quisiera saber si hay una manera de dar algunas identificaciones a mis componentes así que puedo escribir una cierta prueba o si hay otra manera de seleccionar mis componentes.

Nota: Estoy tratando de escribir Espresso Test.

El testID sólo funciona en iOS, y no está asignado a la id de recurso en Android.

Puede especificar una accessibilityLabel de accessibilityLabel a su componente. En uiautomatorviewer se muestra como content-desc

Para ser multiplataforma, debe especificar ambos:

 <Text style={styles.welcome} accessibilityLabel="MyId" testID="MyId"> Welcome! </Text> 

A continuación, puede buscarlo utilizando algo como un controlador web con el selector tilde browser.waitForExist("~MyId")

¡Sí hay! Puede pasar un prop de testID a cualquier componente que implemente los soportes <View /> , tal y como se documenta aquí .

Cadena de ID de prueba

Se utiliza para ubicar esta vista en pruebas de extremo a extremo.

Vea también este blogpost muy informativo sobre UITesting en React Native. Se trata de pruebas de iOS, pero la parte de Javascript va a ser la misma para Android.

En primer lugar, la identificación de cada componente de interfaz de usuario de objetos de Android debe definirse en la carpeta de recursos (res) como XML de presentación (debe asegurarse de haberla definido en las etiquetas correctas) y obtener los identificadores en el Android, por favor sigue los pasos:

 1. Launch Android Studio, Click on "Android Device Monitor" icon next to "SDK Manager" 2. Connect your device and launch the application 3. Select your device name from the list of devices on the left panel 4. Click on Dump "View Hierarchy for UI Automate" 5. Now you can hoover over any view on thde device dump and can see Resource-d in the node details in the right column. 

Nota: También puede tomar capturas de pantalla

1) La primera cosa primero si su su proyecto usted puede ir a la disposición y agregar la identificación a estos componente y después tomar la captura de pantalla usando el espectador del uiautomator usted encontrará su identificación del recurso

2) Si la opción 1 no es posible (es muy poco probable que suceda) todavía se puede probar que a partir de su captura de pantalla sólo puedo ver una caja edittext así que utilizando uiauatomator se puede probar en base a la clase. A continuación se muestra el código:

 private static UiDevice mDevice; func(){ mDevice = UiDevice.getInstance(getInstrumentation()); UiObject xyz=new UiObject(new UiSelector().**getClass**(android.widget.EditText)); xyz.click(); xyz.setText("abcdef"); } 

// No estoy seguro de que getclass () o getclassName () comprueben ambas opciones

// xyz.click () es necesario como en uiautoamtor no podrá texto a la derecha

En un cuadro de texto hasta que se seleccione

  • Error de prueba Espresso: AppNotIdleException
  • Tiempo de espera de espera para el resultado de ClearAppData2 al ejecutar Xamarin UI Tests for Android
  • Prueba de desplazamiento sin fin RecyclerView con Espresso y RxJava
  • Robotium. WaitForActivity () devuelve false para la actividad incrustada en TabHostActivity
  • Cómo detectar si la aplicación de Android está ejecutando la prueba de interfaz de usuario con Espresso
  • Prueba de la interfaz de usuario de Android con Expresso: No hay actividades en la etapa REANUDADO
  • ¿Es posible tomar una captura de pantalla y probar valores de píxeles con espresso?
  • No se puede ejecutar Robotium en Android Studio con sólo APK
  • ¿Cómo "esperar a la actividad" con Appium, en comenzar y durante la prueba en sí?
  • Manera correcta de abrir NavigationDrawer y seleccionar elementos en Robotium
  • La ejecución falló para la tarea 'app: prepareDebugAndroidTestDependencies'
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.