Instrucciones de configuración de Espresso

En esta guía, se abarca la instalación de Espresso con SDK Manager y su compilación con Gradle. Se recomienda usar Android Studio.

Cómo configurar el entorno de prueba

Para evitar la fragilidad, recomendamos desactivar las animaciones del sistema en los dispositivos virtuales o físicos utilizados para las pruebas. En el dispositivo, en Configuración > Opciones para desarrolladores, desactiva las siguientes 3 configuraciones:

  • Escala de animación de ventana
  • Escala de animación de transición
  • Escala de duración de animador

Cómo agregar dependencias de Espresso

Para agregar dependencias de Espresso a tu proyecto, completa los siguientes pasos:

  1. Abre el archivo build.gradle de tu app. Por lo general, este no es el archivo build.gradle de nivel superior, sino app/build.gradle.
  2. Agrega las siguientes líneas dentro de las dependencias:
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
    androidTestImplementation 'androidx.test:runner:1.1.0'
    androidTestImplementation 'androidx.test:rules:1.1.0'
    

Consulta el conjunto completo de dependencias de Gradle.

Cómo establecer el panel de instrumentación

Agrega la siguiente línea al mismo archivo build.gradle en android.defaultConfig:

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    

Ejemplo de archivo de compilación de Gradle

apply plugin: 'com.android.application'

    android {
        compileSdkVersion 28

        defaultConfig {
            applicationId "com.my.awesome.app"
            minSdkVersion 15
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"

            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
    }

    dependencies {
        androidTestImplementation 'androidx.test:runner:1.1.0'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
    }
    

Análisis

Con el fin de asegurarnos de que estamos en el camino correcto con cada nueva versión, el panel de prueba recopila análisis. En especial, sube un hash del nombre del paquete de la aplicación en modo de prueba para cada invocación. Esto nos permite medir tanto el recuento de paquetes únicos que usan Espresso como el volumen de uso.

Si no quieres subir estos datos, puede optar por no incluir el argumento disableAnalytics en el comando de instrumentación:

    adb shell am instrument -e disableAnalytics true
    

Consulta Cómo pasar argumentos personalizados.

Cómo agregar la primera prueba

Android Studio crea pruebas de forma predeterminada en src/androidTest/java/com.example.package/.

Ejemplo de prueba de JUnit4 con reglas:

Kotlin

    @RunWith(AndroidJUnit4::class)
    @LargeTest
    class HelloWorldEspressoTest {

        @get:Rule
        val activityRule = ActivityTestRule(MainActivity::class.java)

        @Test fun listGoesOverTheFold() {
            onView(withText("Hello world!")).check(matches(isDisplayed()))
        }
    }
    

Java

    @RunWith(AndroidJUnit4.class)
    @LargeTest
    public class HelloWorldEspressoTest {

        @Rule
        public ActivityTestRule<MainActivity> activityRule =
                new ActivityTestRule<>(MainActivity.class);

        @Test
        public void listGoesOverTheFold() {
            onView(withText("Hello world!")).check(matches(isDisplayed()));
        }
    }
    

Cómo ejecutar pruebas

Puedes ejecutar pruebas en Android Studio o desde la línea de comandos.

En Android Studio

Para crear una configuración de prueba en Android Studio, sigue estos pasos:

  1. Abre Run > Edit Configurations.
  2. Agrega una nueva configuración de pruebas de Android.
  3. Elige un módulo.
  4. Agrega un panel de instrumentación específico: androidx.test.runner..AndroidJUnitRunner
  5. Ejecuta la configuración recién creada.

Desde la línea de comandos

Ejecuta el siguiente comando de Gradle:

    ./gradlew connectedAndroidTest