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.
- Configuración de gradiente y maven espresso para Android
- Android: Robotium vs marco de prueba de Android
- Comprobación de ViewPager con Espresso. ¿Cómo funciona la acción a un botón de un elemento?
- Espresso Nested Recycler Vistas Prueba de interfaz de usuario
- Cómo rotar la actividad, quiero decir: el cambio de orientación de la pantalla con Espresso?
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.
- Espresso cómo hacer clic en un ImageView colocado en el primer elemento de la lista?
- ¿Cómo usar Espresso UI Testing for React Native?
- Prueba de interfaz de usuario de Espresso para Android: falla en la ejecución de la prueba: Error en la ejecución de la instrumentación debido a 'java.lang.IllegalAccessError'
- Prueba de centrifugadoras dinámicas espresso
- Espresso: espera que la actividad finalice la tarea de fondo después de presionarBack ()
- No se pudo iniciar intención Intent en un plazo de 45 segundos - robotium
- No se puede conseguir que Robotium funcione en Android Studio
- ¿Las pruebas de selenio valen la pena en dispositivos móviles?
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
- Anotaciones de prueba de Android con Robotium
- La API de reproductor de YouTube para Android lanza "BadParcelableException ClaseNotFoundException al desmarcar: asc" con la nueva versión de YouTube