Firebase Test Lab fornisce un'infrastruttura basata sul cloud per testare le app per Android e offre un'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 su come utilizzare Test Lab dall'interfaccia utente di Android Studio per creare una matrice di test, eseguire un test strumentato e visualizzare i risultati dei test, consulta Eseguire i test con Firebase Test Lab.
Acquisisci screenshot
Test Lab supporta l'acquisizione di screenshot durante l'esecuzione di test strumentati. Per scoprire come acquisire screenshot, consulta Aggiungere la libreria di screenshot al progetto.
Crea test utilizzando Espresso Test Recorder
Lo strumento Espresso Test Recorder consente di creare test dell'interfaccia utente per l'app senza scrivere codice di test. Puoi registrare le interazioni con un dispositivo e aggiungere asserzioni per verificare gli elementi dell'interfaccia utente in snapshot specifici dell'app. Espresso Test Recorder prende quindi la registrazione salvata e genera automaticamente un test dell'interfaccia utente Espresso corrispondente che puoi eseguire per testare l'app in Test Lab.
Per saperne di più, consulta Creare test dell'interfaccia utente con Espresso Test Recorder.
Modifica il comportamento dei test strumentati 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.
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
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 Firebase Test Lab plug-in consentono di eseguire test strumentati automatizzati su larga scala sui Test Lab dispositivi, in base alle configurazioni nei file Gradle del progetto.
I dispositivi gestiti da Gradle offrono anche lo sharding intelligente, che 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 dei test il più rapidamente possibile. Lo sharding intelligente consente di eseguire grandi suite di test in parallelo, il che rende questa funzionalità adatta ai flussi CI/CD.
Per attivare lo sharding intelligente utilizzando il plug-in Test Lab per i dispositivi gestiti da GradleTest Lab, segui le istruzioni riportate in Ottimizzare le esecuzioni dei test con lo sharding intelligente .