Esecuzione di test con Android Studio

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

Questa guida descrive come modificare i test di instrumentazione in Android Studio in modo da poterli integrare ed eseguire con Test Lab. Per istruzioni su come utilizzare Test Lab dall'interfaccia utente di Android Studio per creare una matrice di test, eseguire un test di instrumentazione e visualizzare i risultati del test, consulta Esegui i test con Firebase Test Lab.

Acquisisci screenshot

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

Crea test utilizzando Espresso Test Recorder

Lo strumento Espresso Test Recorder ti consente di creare test della UI per la tua app senza scrivere codice di test. Puoi registrare le tue interazioni con un dispositivo e aggiungere asserzioni per verificare gli elementi UI in particolari istantanee 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 scoprire di più, consulta Crea test della UI con Espresso Test Recorder.

Modifica il comportamento del test di instrumentazione per Test Lab

Test Lab fornisce una variabile di sistema che puoi aggiungere ai test di instrumentazione 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 è in esecuzione in Test Lab. Quindi, 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 di strumentazione automatizzati su larga scala su Test Lab dispositivi, in base alle configurazioni nei file Gradle del 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 un periodo di tempo approssimativamente uguale e restituiscono i risultati dei test il più rapidamente possibile. Lo sharding smart consente di eseguire suite di test di grandi dimensioni in parallelo, il che rende questa funzionalità particolarmente adatta ai flussi CI/CD.

Per attivare lo sharding smart utilizzando il plug-in Test Lab dei dispositivi gestiti da Gradle, segui le istruzioni riportate in Ottimizza le esecuzioni dei test con lo sharding smart .