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 inestabilidad, te recomendamos que desactives las animaciones del sistema en los dispositivos virtuales o físicos que se usen 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:

Groovy

androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
androidTestImplementation 'androidx.test:runner:1.6.1'
androidTestImplementation 'androidx.test:rules:1.6.1'

Kotlin

androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
androidTestImplementation('androidx.test:runner:1.6.1')
androidTestImplementation('androidx.test:rules:1.6.1')

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.6.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
}

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.6.1')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
}

Analytics

Para 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, puedes inhabilitarlos. Para ello, incluye 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