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 codice di test. Puoi registrare le tue interazioni con un dispositivo e aggiungere per verificare gli elementi UI in determinate istantanee della tua app. Caffè espresso Registratore di prova acquisisce la registrazione salvata e genera automaticamente test UI Espresso corrispondente che puoi eseguire per testare la tua app in Test Lab.

Per saperne di più, vedi Crea test dell'interfaccia utente con Espresso Test Recorder.

Modifica il comportamento del test con strumentazione per Test Lab

Test Lab fornisce una variabile di sistema che puoi aggiungere agli strumenti in modo che tu possa causare un comportamento diverso quando li esegui Test Lab rispetto a quando li esegui sul tuo emulatore o dispositivo di test.

L'esempio di codice seguente legge una proprietà di sistema, firebase.test.lab, e imposta una stringa, da testLabSetting a true se il test è in esecuzione in Test Lab. Quindi, 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
    // ...
}

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

Dispositivi gestiti Gradle tramite Firebase Test Lab il plug-in consente di eseguire test con strumenti automatizzati su larga scala su 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 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 in Ottimizza le esecuzioni di test con partizionamento orizzontale di Google.