Questa guida illustra l'installazione e la creazione di Espresso tramite SDK Manager utilizzando Gradle. È consigliato Android Studio.
Configura l'ambiente di test
Per evitare irregolarità, ti consigliamo vivamente di disattivare le animazioni di sistema nella i dispositivi virtuali o fisici utilizzati per i test. Sul dispositivo, sotto Impostazioni > Opzioni sviluppatore, disattiva le tre impostazioni seguenti:
- Scala animazione finestra
- Scala animazione transizione
- Scala durata animatore
Aggiungi dipendenze Espresso
Per aggiungere dipendenze Espresso al progetto, completa i seguenti passaggi:
- Apri il file
build.gradle
dell'app. Di solito non è il filebuild.gradle
di primo livello, maapp/build.gradle
. - Aggiungi le seguenti righe all'interno delle dipendenze:
Alla moda
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')
Visualizza il set completo di dipendenze Gradle.
Imposta il runner della strumentazione
Aggiungi allo stesso file build.gradle
la seguente riga in
android.defaultConfig
:
Alla moda
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Kotlin
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
Esempio di file di build Gradle
Alla moda
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
Per assicurarci di essere sulla strada giusta con ogni nuova uscita, il test runner raccoglie dati e analisi. Nello specifico, carica un hash del pacchetto il nome dell'applicazione sottoposta a test per ogni chiamata. Questo ci consente di misurare sia il numero di pacchi unici utilizzando Espresso sia il volume di utilizzo.
Se non vuoi caricare questi dati, puoi disattivarli includendo il
Argomento disableAnalytics
nel comando di strumentazione:
adb shell am instrument -e disableAnalytics true
Aggiungi il primo test
Android Studio crea test per impostazione predefinita
src/androidTest/java/com.example.package/
.
Esempio di test JUnit4 con regole:
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())); } }
Esegui test
Puoi eseguire i test in Android Studio o dalla riga di comando.
In Android Studio
Per creare una configurazione di test in Android Studio, procedi nel seguente modo:
- Apri Esegui > Modifica configurazioni.
- Aggiungi una nuova configurazione di Android Tests.
- Scegli un modulo.
- Aggiungi un runner della strumentazione specifico:
androidx.test.runner.AndroidJUnitRunner
- Esegui la configurazione appena creata.
Dalla riga di comando
Esegui questo comando Gradle:
./gradlew connectedAndroidTest