Esegui test con Android Studio

Firebase Test Lab fornisce un'infrastruttura basata su cloud per testare le app Android e offre l'integrazione completa con Android Studio per l'esecuzione di test strumentati e la revisione dei risultati dei test.

Questa guida descrive come modificare i test strumentati in Android Studio in modo da poterli integrare ed eseguire con Test Lab. Per istruzioni sull'utilizzo di Test Lab dall'interfaccia utente di Android Studio per creare una matrice di test, eseguire un test strumentato e visualizzare i risultati del test, vedi Eseguire i test con Firebase Test Lab .

Cattura screenshot

Test Lab fornisce supporto per l'acquisizione di screenshot durante l'esecuzione di test strumentati. Per informazioni su come acquisire screenshot, consulta Aggiungere la libreria di screenshot al tuo progetto .

Crea test utilizzando Espresso Test Recorder

Lo strumento Espresso Test Recorder ti consente di creare test dell'interfaccia utente per la tua app senza scrivere alcun codice di test. Puoi registrare le tue interazioni con un dispositivo e aggiungere asserzioni per verificare gli elementi dell'interfaccia utente in particolari snapshot della tua app. Espresso Test Recorder prende quindi la registrazione salvata e genera automaticamente un test dell'interfaccia utente Espresso corrispondente che puoi eseguire per testare la tua app in Test Lab.

Per ulteriori informazioni, consulta Creare test dell'interfaccia utente con Espresso Test Recorder .

Modificare il comportamento dei test strumentati per Test Lab

Test Lab fornisce una variabile di sistema che puoi aggiungere ai test strumentati in modo da poterli comportare in modo diverso quando li esegui in Test Lab rispetto a quando li esegui sul tuo dispositivo di test o emulatore.

L'esempio di codice seguente legge una proprietà di sistema, firebase.test.lab e imposta una stringa, testLabSetting su true se il test è in esecuzione in Test Lab. Quindi, utilizza il valore di questa stringa per controllare se vengono eseguite istruzioni aggiuntive:

Kotlin+KTX

val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab")
if ("true" == testLabSetting) {
    // Do something when running in Test Lab
    // ...
}

Java

String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
    // Do something when running in Test Lab
    // ...
}

Utilizza i dispositivi gestiti da Gradle tramite il plug-in Firebase Test Lab

Gradle Managed Devices tramite il plug-in Firebase Test Lab ti consente di eseguire test strumentati automatizzati su larga scala sui dispositivi Test Lab, in base alle configurazioni nei file Gradle del tuo progetto.

I dispositivi gestiti Gradle offrono anche lo sharding intelligente, che ti consente di distribuire i test in modo ottimale tra gli shard in base alla cronologia dei test precedenti. Con lo sharding intelligente, gli shard vengono eseguiti all'incirca per lo stesso periodo di tempo e restituiscono i risultati dei test il più rapidamente possibile. Lo sharding intelligente ti consente di eseguire suite di test di grandi dimensioni in parallelo, rendendo questa funzionalità particolarmente adatta per i flussi CI/CD.

Per abilitare lo sharding intelligente utilizzando il plug-in Gradle Managed Devices Test Lab, seguire le istruzioni in Ottimizzare le esecuzioni di test con lo sharding intelligente .