Puoi utilizzare Firebase Test Lab quando sviluppi la tua app utilizzando qualsiasi integrazione continua (CI) system. I sistemi di integrazione continua ti consentono di creare ed eseguire automaticamente i test della tua app ogni volta che esegui il check-in degli aggiornamenti del codice sorgente dell'app.
Utilizzare Firebase Test Lab con Jenkins CI
Questa sezione descrive come utilizzare Test Lab con Jenkins CI.
Requisiti
Prima di poter utilizzare Firebase Test Lab con Jenkins, devi completare i seguenti passaggi:
Configura gcloud. Segui le istruzioni riportate in Utilizzare Firebase Test Lab dalla riga di comando gcloud per creare un progetto Firebase e configurare l'ambiente Google Cloud SDK locale.
Crea e autorizza un account di servizio. I service account non sono soggetti a controlli antispam o richieste di captcha, che altrimenti potrebbero bloccare le build CI. Crea un service account con il ruolo di Editor nella Google Cloud console e poi attivalo (consulta la documentazione di gcloud auth activate-service-account per scoprire come fare).
Abilita le API richieste. Dopo aver eseguito l'accesso utilizzando il service account: nella pagina della libreria API di Google Developers Console, abilita l'API Google Cloud Testing e l'API Cloud Tool Results. Per abilitare queste API, digita i nomi delle API nella casella di ricerca nella parte superiore della console, quindi fai clic su Abilita API nella pagina di panoramica dell'API.
Installare e configurare Jenkins
Puoi installare e configurare Jenkins CI su Linux o Windows. Alcuni dettagli di questa guida sono specifici per l'installazione e l'esecuzione di Jenkins CI su Linux, incluso l'utilizzo di barre (/) nei percorsi dei file.
Per scaricare e installare Jenkins su un computer con Linux o Windows, segui le istruzioni riportate in Installare Jenkins. Dopo aver installato Jenkins, segui le istruzioni riportate in Avviare e accedere a Jenkins per completare la configurazione e accedere alla dashboard di Jenkins.
Configurare le impostazioni di sicurezza globali
Jenkins non ha l'autenticazione utente e il controllo dell'accesso configurati al momento dell'installazione. Prima di utilizzare Jenkins con Firebase Test Lab, configura le impostazioni di sicurezza globali per applicare il controllo dell'accesso e autenticare gli utenti.
Per configurare le impostazioni di sicurezza globali
- Vai alla dashboard di Jenkins sul server. Per farlo, vai a http://<servername>:8080, dove <servername> è il nome del computer su cui hai installato Jenkins.
- Nella dashboard di Jenkins, fai clic su Gestisci Jenkins e poi su Configura sicurezza globale.
- Nella pagina Configura sicurezza globale , fai clic su Abilita sicurezza e poi su Salva.
Per ulteriori informazioni sulla configurazione delle impostazioni di sicurezza per Jenkins, vedi Quick and Simple Security, Standard Security Setup, e Securing Jenkins.
Creare un progetto Jenkins
Ora crea un progetto per eseguire i test di integrazione continua della tua app con Firebase Test Lab.
Per creare un progetto Jenkins
- Vai alla dashboard di Jenkins sul server. Per farlo, vai a http://<servername>:8080, dove <servername> è il nome del computer su cui hai installato Jenkins.
- Nella dashboard di Jenkins, fai clic su Nuovo elemento.
- Digita un nome per il progetto nel campo Nome elemento :
- Scegli Progetto freestyle per creare un progetto che utilizza una singola configurazione di build.
- Scegli Crea progetto con configurazioni multiple per creare un progetto che viene eseguito su più configurazioni di build diverse. Se prevedi di creare la tua app con una varietà di configurazioni di build (più impostazioni internazionali, più livelli API Android e così via), un progetto con configurazioni multiple è la scelta migliore.
- Fai clic su Salva.
Dopo aver creato il progetto, il browser web visualizza la pagina principale del progetto.
Aggiungere passaggi di controllo della revisione e di build Gradle
Questa sezione descrive come integrare Jenkins con i sistemi di controllo della revisione come GitHub e come aggiungere passaggi di build Gradle per creare pacchetti APK dal codice sorgente.
Integrazione con GitHub e altri sistemi di controllo della revisione
Se utilizzi GitHub o un altro sistema di controllo della revisione per gestire il codice sorgente della tua app, puoi configurare Jenkins per eseguire build automatiche ed eseguire test ogni volta che vengono eseguiti i check-in degli aggiornamenti dell'app. Puoi anche configurare Jenkins per eseguire build periodicamente.
Per scoprire come configurare le build in Jenkins, vedi Configurare le build automatiche.
Aggiungere passaggi di build Gradle per ricompilare i pacchetti APK
Se utilizzi un sistema di controllo della revisione per gestire il codice sorgente della tua app, devi includere un passaggio di build Gradle per creare nuovi file binari APK ogni volta che Jenkins scarica il codice sorgente dal sistema di controllo della revisione.
Aggiungi un passaggio di build per eseguire i seguenti comandi nella directory principale dell'applicazione:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Aggiungi un passaggio di build per utilizzare i pacchetti APK creati da Gradle durante i test con Test Lab. Puoi utilizzare questo percorso come <local_server_path> nell'esempio di script shell fornito di seguito, dove <AppFolder> è la cartella del progetto Android Studio per la tua app:
<AppFolder>/app/build/outputs/apk
Aggiungere passaggi di build Test Lab a Jenkins
Ora puoi aggiungere un passaggio di build a Jenkins per eseguire Test Lab utilizzando la riga di comando gcloud.
Per aggiungere un passaggio di build gcloud
- Nella pagina principale del progetto, fai clic su Configura.
Nella pagina Configurazione progetto, scorri verso il basso fino alla sezione Build , quindi scegli Esegui shell dal menu Aggiungi passaggio di build.
Nella finestra Jenkins Esegui comando shell , inserisci quanto segue, sostituendo <local_server_path> con il percorso dell'app di esempio sul server, <app_apk> con l'APK dell'app e <app_test_apk> con l'APK di test dell'app:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
Analizzare i risultati dei test
Dopo che Test Lab ha completato i test dell'app, puoi esaminare i risultati dei test nella console Firebase o in un bucket Google Cloud Storage nel tuo progetto. Puoi anche aggiungere un
gsutil comando al
comando shell mostrato sopra per copiare i dati dei risultati dei test sul computer locale.
Per saperne di più, vedi
Analizzare i risultati.Firebase Test Lab
Integrazione continua con altri sistemi CI
Per scoprire come utilizzare Firebase Test Lab con altri sistemi CI, consulta la documentazione: