Instrucciones de configuración de Espresso

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

Cómo configurar el entorno de prueba

Para evitar inestabilidades, te recomendamos que desactives las animaciones del sistema en los dispositivos virtuales o físicos que se usan para las pruebas. En tu dispositivo, debajo de Configuración > Opciones para desarrolladores, inhabilita las siguientes 3 opciones de configuración:

  • 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 al mismo archivo build.gradle en android.defaultConfig

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, runner recopila análisis. Específicamente, sube un hash del paquete nombre de la aplicación que se está probando para cada invocación. Esto nos permite medir el recuento de paquetes únicos con Espresso y el volumen de uso.

Si no deseas subir estos datos, puedes inhabilitarlos incluyendo el 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