Inizia a testare con i sistemi di integrazione continua (CI).

Puoi utilizzare Firebase Test Lab quando sviluppi la tua app utilizzando qualsiasi sistema di integrazione continua (CI). I sistemi di integrazione continua ti consentono di creare e testare automaticamente la tua app ogni volta che esegui il check-in degli aggiornamenti al codice sorgente dell'app.

Utilizzo di 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:

  1. Configura gcloud. Segui le istruzioni in Utilizzo di Firebase Test Lab dalla riga di comando di gcloud per creare un progetto Firebase e configurare il tuo ambiente Google Cloud SDK locale.

  2. Crea e autorizza un account di servizio. Gli account di servizio non sono soggetti a controlli di spam o richieste di captcha, che potrebbero altrimenti bloccare le build dell'elemento della configurazione. Crea un account di servizio con un ruolo Editor nella console Google Cloud e quindi attivalo (consulta la documentazione di gcloud authactivate-service-account per scoprire come).

  3. Abilita le API richieste. Dopo aver effettuato l'accesso utilizzando l'account di servizio: 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 questi nomi API nella casella di ricerca nella parte superiore della console, quindi fai clic su Abilita API nella pagina di panoramica dell'API in questione.

Installa e configura Jenkins

È possibile 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'uso delle barre ( / ) nei percorsi dei file.

Per scaricare e installare Jenkins su un computer che esegue Linux o Windows, seguire le istruzioni su Installazione di Jenkins . Dopo aver installato Jenkins, seguire le istruzioni su Avvio e accesso a Jenkins per completare la configurazione e accedere al dashboard Jenkins.

Configura le impostazioni di sicurezza globali

Jenkins non dispone dell'autenticazione utente e del controllo dell'accesso configurati al momento della prima installazione. Prima di utilizzare Jenkins con Firebase Test Lab, configura le impostazioni di sicurezza globali per applicare il controllo degli accessi e autenticare gli utenti.

Per configurare le impostazioni di sicurezza globali

  1. Passa al dashboard Jenkins sul tuo server. A tale scopo, accedere a http://<servername>:8080 , dove <servername> è il nome del computer su cui è installato Jenkins.
  2. Nel dashboard Jenkins, fai clic su Gestisci Jenkins , quindi su Configura sicurezza globale .
  3. Nella pagina Configura sicurezza globale , fare clic su Abilita sicurezza e quindi su Salva .

Per ulteriori informazioni sulla configurazione delle impostazioni di sicurezza per Jenkins, consulta Sicurezza rapida e semplice , Configurazione di sicurezza standard e Protezione di Jenkins .

Crea un progetto Jenkins

Successivamente, crea un progetto per eseguire test di integrazione continua della tua app con Firebase Test Lab.

Per creare un progetto Jenkins

  1. Passa al dashboard Jenkins sul tuo server. A tale scopo, accedere a http://<servername>:8080 , dove <servername> è il nome del computer su cui è installato Jenkins.
  2. Nel dashboard Jenkins, fai clic su Nuovo elemento .
  3. Digita un nome per il tuo progetto nel campo Nome elemento :
    • Scegli Progetto Freestyle per creare un progetto che utilizza una singola configurazione di build.
    • Scegli Crea progetto a configurazione multipla per creare un progetto che viene eseguito su più configurazioni di compilazione 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 a configurazione multipla è la scelta migliore.
  4. Fare clic su Salva .

Dopo aver creato il progetto, il browser Web visualizza la pagina principale del progetto.

Aggiungi il controllo di revisione e i passaggi di creazione di Gradle

Questa sezione descrive come integrare Jenkins con sistemi di controllo di revisione come GitHub e come aggiungere passaggi di compilazione Gradle per creare pacchetti APK dal codice sorgente.

Integrazione con GitHub e altri sistemi di controllo di revisione

Se utilizzi GitHub o un altro sistema di controllo delle revisioni per gestire il codice sorgente della tua app, puoi configurare Jenkins per eseguire build automatizzate ed eseguire test ogni volta che vengono archiviati gli aggiornamenti alla tua app. Puoi anche configurare Jenkins per eseguire build periodicamente.

Per informazioni sulla configurazione delle build in Jenkins, consulta Configurazione delle build automatiche .

Aggiunta di passaggi di compilazione Gradle per ricostruire i pacchetti APK

Se utilizzi un sistema di controllo delle revisioni per gestire il codice sorgente della tua app, devi includere un passaggio di compilazione Gradle per creare nuovi file binari APK ogni volta che Jenkins scarica il codice sorgente dal tuo sistema di controllo delle revisioni.

  1. Aggiungi un passaggio di compilazione per eseguire i seguenti comandi nella directory principale della tua applicazione:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. Aggiungi un passaggio di compilazione 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 di shell fornito di seguito, dove <AppFolder> è la cartella del progetto Android Studio per la tua app:

    <AppFolder>/app/build/outputs/apk
    

Aggiungi i passaggi di creazione di Test Lab a Jenkins

Ora sei pronto per aggiungere una fase di compilazione a Jenkins per eseguire Test Lab utilizzando la riga di comando gcloud.

Per aggiungere un passaggio di creazione di gcloud

  1. Dalla pagina principale del tuo progetto, fai clic su Configura .
  2. Nella pagina di configurazione del progetto scorri verso il basso fino alla sezione Compila , quindi scegli Esegui shell dal menu Aggiungi passaggio di compilazione .

  3. Nella finestra di comando della shell Jenkins Execute , immetti quanto segue, sostituendo <local_server_path> con il percorso dell'app di esempio sul server, <app_apk> con l'APK della tua app e <app_test_apk> con l'APK di test della tua 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

Una volta che Test Lab ha completato il test della tua app, puoi esaminare i risultati del test nella console Firebase o in un bucket Google Cloud Storage nel tuo progetto. Puoi anche aggiungere un comando gsutil al comando shell mostrato sopra per copiare i dati dei risultati del test sul tuo computer locale. Per ulteriori informazioni, consulta Analisi dei risultati di Firebase Test Lab .

Integrazione continua con altri sistemi CI

Per sapere come utilizzare Firebase Test Lab con altri sistemi CI, consulta i relativi documenti: