Instrucciones de configuración de Espresso

En esta guía, se explica cómo instalar Espresso con SDK Manager y cómo compilarlo con Gradle. Se recomienda usar Android Studio.

Cómo configurar el entorno de prueba

Para evitar la fragilidad, te recomendamos que desactives las animaciones del sistema en los dispositivos virtuales o físicos que se usan para las pruebas. En tu dispositivo, en Configuración > Opciones para desarrolladores, inhabilita 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:

Groovy

androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test:rules:1.4.0'

Kotlin

androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0')
androidTestImplementation('androidx.test:runner:1.4.0')
androidTestImplementation('androidx.test:rules:1.4.0')

Consulta el conjunto completo de dependencias de Gradle.

Cómo establecer el ejecutor de instrumentación

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

Groovy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Ejemplo de archivo de compilación de Gradle

Groovy

plugins {
  id 'com.android.application'
}

android {
    compileSdkVersion 33

    defaultConfig {
        applicationId "com.my.awesome.app"
        minSdkVersion 21
        targetSdkVersion 33
        versionCode 1
        versionName "1.0"

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

dependencies {
    androidTestImplementation 'androidx.test:runner:1.4.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

Kotlin

plugins {
    id("com.android.application")
}

android {
    compileSdkVersion(33)

    defaultConfig {
        applicationId = "com.my.awesome.app"
        minSdkVersion(21)
        targetSdkVersion(33)
        versionCode = 1
        versionName = "1.0"

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

dependencies {
    androidTestImplementation('androidx.test:runner:1.4.0')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0')
}

Analytics

Para asegurarnos de que estamos en el camino correcto con cada versión nueva, el ejecutor de pruebas recopila estadísticas. Más concretamente, sube un hash del nombre del paquete de la aplicación a 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 deseas subir estos datos, puedes inhabilitarlos incluyendo el argumento disableAnalytics en tu comando de instrumentación:

adb shell am instrument -e disableAnalytics true

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 = ActivityScenarioRule(MainActivity::class.java)

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

Java

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

    @Rule
    public ActivityScenarioRule<MainActivity> activityRule =
            new ActivityScenarioRule<>(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 ejecutor de instrumentación específico: androidx.test.runner.AndroidJUnitRunner
  5. Ejecuta la configuración creada recientemente.

Desde la línea de comandos

Ejecuta el siguiente comando de Gradle:

./gradlew connectedAndroidTest