Esecuzione di test con Android Studio

Firebase Test Lab fornisce un'infrastruttura basata sul cloud per testare le app per Android e offre l'integrazione completa con Android Studio per eseguire test strumentati e rivedere i 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, consulta Eseguire i test con Firebase Test Lab.

Acquisire screenshot

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

Creare test utilizzando Espresso Test Recorder

Lo strumento Espresso Test Recorder ti consente di creare test UI 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 UI Espresso corrispondente che puoi eseguire per testare la tua app in Test Lab.

Per saperne di più, consulta Creare test UI con Espresso Test Recorder.

Modifica il comportamento del test con gli strumenti per Test Lab

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

Il seguente esempio di codice legge una proprietà di sistema, firebase.test.lab, e imposta una stringa, testLabSetting, su true se il test viene eseguito in Test Lab. Poi, utilizza il valore di questa stringa per controllare se vengono eseguite istruzioni aggiuntive:

Kotlin

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

I dispositivi gestiti da Gradle tramite il plug-in Firebase Test Lab ti consentono di eseguire test strumentati automatizzati su larga scala su dispositivi Test Lab in base alle configurazioni nei file Gradle del tuo progetto.

I dispositivi gestiti da 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 per circa lo stesso periodo di tempo e restituiscono i risultati del test il più rapidamente possibile. Lo sharding intelligente consente di eseguire grandi suite di test in parallelo, rendendo questa funzionalità adatta ai flussi CI/CD.

Per attivare lo sharding intelligente utilizzando il plug-in Gradle Managed Devices Test Lab, segui le istruzioni riportate in Ottimizzare le esecuzioni dei test con lo sharding intelligente .