Esecuzione di test con Android Studio

Firebase Test Lab fornisce un'infrastruttura cloud per testare le app Android e offre un'integrazione completa con Android Studio per eseguire test con strumenti e rivedere i risultati dei test.

Questa guida descrive come modificare i test con strumenti in Android Studio in modo da integrarli ed eseguirli 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 instrumentato e visualizzare i risultati del test, consulta Eseguire i test con Firebase Test Lab.

Acquisisci screenshot

Test Lab fornisce il supporto per acquisire screenshot durante l'esecuzione di test instrumentati. Per scoprire come acquisire screenshot, consulta Aggiungere la raccolta 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 dover scrivere alcun codice di test. Puoi registrare le tue interazioni con un dispositivo e aggiungere assert per verificare gli elementi dell'interfaccia utente in determinati istantanei della tua app. Espresso Test Recorder acquisisce quindi la registrazione salvata e genera automaticamente un test Espresso UI 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 con strumenti in modo da farli comportare 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 altre istruzioni:

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
    // ...
}

Utilizzare 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 automatici con strumenti 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 i vari shard in base alla cronologia dei test precedenti. Con lo sharding intelligente, i frammenti vengono eseguiti per circa lo stesso periodo di tempo e restituiscono i risultati del test il più rapidamente possibile. Lo sharding intelligente ti consente di eseguire in parallelo suite di test di grandi dimensioni, rendendo questa funzionalità particolarmente adatta ai flussi CI/CD.

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