Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Trabajando con instrumentación para Android y AWS Device Farm
Device Farm ofrece soporte para instrumentación (EspressoJUnit, Robotium o cualquier prueba basada en instrumentación) para Android.
Device Farm también ofrece una aplicación Android de ejemplo y enlaces a pruebas activas en tres marcos de automatización de Android, incluida la instrumentación (Espresso). La aplicación de muestra Device Farm para Android
Temas
¿Qué es la instrumentación?
La instrumentación para Android le permite invocar métodos de devolución de llamada en el código de la prueba, de manera que pueda seguir paso a paso todo el ciclo de vida de un componente como si lo estuviera depurando. Para obtener más información, consulte Instrumented tests (Pruebas instrumentalizadas)
Carga de las pruebas de instrumentación para Android
Utilice la consola de Device Farm para cargar las pruebas.
-
Inicie sesión en la consola de Device Farm en https://console.aws.amazon.com/devicefarm
. -
En el panel de navegación de Device Farm, seleccione Pruebas de dispositivos móviles y, a continuación, seleccione Proyectos.
-
En la lista de proyectos, seleccione el proyecto en el que desea cargar las pruebas.
sugerencia
Puede utilizar la barra de búsqueda para filtrar la lista de proyectos por nombre.
Para crear un proyecto, siga las instrucciones de Crear un proyecto en AWS Device Farm.
-
Si se muestra el botón Crear una nueva ejecución, selecciónelo.
-
En la página Elegir aplicación, seleccione Elegir archivo.
-
Busque y elija el archivo de aplicación de Android. El archivo debe ser un archivo .apk.
-
Seleccione Siguiente.
-
En la página Configurar, en la sección Configurar marco de pruebas, seleccione Instrumentación y, a continuación, seleccione Elegir archivo.
-
Busque y elija el archivo .apk que contiene las pruebas.
-
Seleccione Siguiente y, a continuación, complete el resto de instrucciones para seleccionar dispositivos e inicie la ejecución.
Realizar capturas de pantalla en pruebas de instrumentación para Android
Puede realizar capturas de pantalla como parte de las pruebas de instrumentación para Android.
Para realizar capturas de pantalla, llame a uno de los siguientes métodos:
-
Para Robotium, llame al método
takeScreenShot
(por ejemplo,solo.takeScreenShot();
). -
Para Spoon, llame al método
screenshot
, por ejemplo:Spoon.screenshot(activity, "initial_state"); /* Normal test code... */ Spoon.screenshot(activity, "after_login");
Durante una ejecución de prueba, Device Farm obtiene automáticamente capturas de pantalla de las siguientes ubicaciones de los dispositivos, si las hay. A continuación, las añade a los informes de las pruebas:
-
/sdcard/robotium-screenshots
-
/sdcard/test-screenshots
-
/sdcard/Download/spoon-screenshots/
test-class-name
/test-method-name
-
/data/data/
application-package-name
/app_spoon-screenshots/test-class-name
/test-method-name
Consideraciones adicionales para pruebas de instrumentación para Android
- Animaciones del sistema
-
Según la documentación de Android para pruebas de Espresso
, se recomienda que las animaciones del sistema estén desactivadas al realizar pruebas en dispositivos reales. Device Farm desactiva automáticamente los ajustes Window Animation Scale, Transition Animation Scale y Animator Duration Scale cuando se ejecuta con el ejecutor de pruebas de instrumentación ndroidJUnitandroid.support.test.Runner.A Runner. - Grabadores de pruebas
-
Device Farm admite marcos, como Robotium, que tienen herramientas de record-and-playback creación de scripts.
Análisis de prueba en modo estándar
En el modo estándar de ejecución, Device Farm analiza el conjunto de pruebas e identifica las clases y métodos de prueba únicos que se ejecutarán. Esto se hace a través de una herramienta llamada Dex Test Parser
Cuando se introduce un archivo.apk de instrumentación de Android como entrada, el analizador devuelve los nombres de métodos completos de las pruebas que coinciden con JUnit las convenciones 3 y 4. JUnit
Para probar esto en un entorno local:
-
Descargue el documento binario
dex-test-parser
. -
Ejecute el siguiente comando para obtener la lista de métodos de prueba que se ejecutarán en Device Farm:
java -jar parser.jar path/to/apk path/for/output