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:
- Abre el archivo
build.gradle
de tu app. Por lo general, este no es el archivobuild.gradle
de nivel superior, sinoapp/build.gradle
. - 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, el equipo de 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:
- Abre Run > Edit Configurations.
- Agrega una nueva configuración de pruebas de Android.
- Elige un módulo.
- Agrega un ejecutor de instrumentación específico:
androidx.test.runner.AndroidJUnitRunner
- Ejecuta la configuración creada recientemente.
Desde la línea de comandos
Ejecuta el siguiente comando de Gradle:
./gradlew connectedAndroidTest