

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.

# Instrumentación para Android y AWS Device Farm
<a name="test-types-android-instrumentation"></a>

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](https://github.com/awslabs/aws-device-farm-sample-app-for-android) está disponible para su descarga en GitHub.

Para obtener más información sobre las pruebas en Device Farm, consulte [Marcos de pruebas y pruebas integradas en AWS Device Farm](test-types.md).

**Topics**
+ [¿Qué es la instrumentación?](#test-types-android-instrumentation-what-is)
+ [Consideraciones sobre las pruebas de instrumentación de Android](#test-types-android-instrumentation-settings)
+ [Análisis de prueba en modo estándar](#test-types-android-standard-mode-test-parse)
+ [Integración de la instrumentación de Android con Device Farm](test-types-android-instrumentation-integrate.md)

## ¿Qué es la instrumentación?
<a name="test-types-android-instrumentation-what-is"></a>

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)](https://developer.android.com/studio/test/test-in-android-studio#test_types_and_locations) en la sección *Aspectos básicos de las pruebas* de la documentación *Herramientas para el desarrollador de Android*.

## Consideraciones sobre las pruebas de instrumentación de Android
<a name="test-types-android-instrumentation-settings"></a>

Al utilizar la instrumentación de Android, tenga en cuenta las siguientes recomendaciones y notas.

**Comprobación de la compatibilidad con el sistema operativo Android**  
 Consulte la [documentación de Android](https://developer.android.com/jetpack/androidx/releases/test#orchestrator-1.5.0) para asegurarse de que la instrumentación sea compatible con su versión del sistema operativo Android. 

**Instalación desde la línea de comandos**  
 Para ejecutar las pruebas de instrumentación desde la línea de comandos, consulte la [Documentación de Android](https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/runner#enable-command). 

**Animaciones del sistema**  
 Según la [documentación de Android para pruebas de Espresso](https://developer.android.com/training/testing/espresso), se recomienda que las animaciones del sistema estén desactivadas al realizar pruebas en dispositivos reales. Device Farm deshabilita 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 [android.support.test.Runner.Android Runner. JUnit](http://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html)

**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
<a name="test-types-android-standard-mode-test-parse"></a>

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](https://github.com/linkedin/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: 

1. Descargue el documento binario [https://github.com/linkedin/dex-test-parser](https://github.com/linkedin/dex-test-parser).

1. 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
   ```