Commencez les tests avec les systèmes d’intégration continue (CI)

Vous pouvez utiliser Firebase Test Lab lors du développement de votre application à l'aide de n'importe quel système d'intégration continue (CI). Les systèmes d'intégration continue vous permettent de créer et de tester automatiquement votre application chaque fois que vous enregistrez des mises à jour du code source de votre application.

Utiliser Firebase Test Lab avec Jenkins CI

Cette section décrit comment utiliser Test Lab avec Jenkins CI .

Exigences

Avant de pouvoir utiliser Firebase Test Lab avec Jenkins, vous devez suivre les étapes suivantes :

  1. Configurez gcloud. Suivez les instructions de Utilisation de Firebase Test Lab à partir de la ligne de commande gcloud pour créer un projet Firebase et configurer votre environnement SDK Google Cloud local.

  2. Créez et autorisez un compte de service. Les comptes de service ne sont pas soumis aux contrôles anti-spam ni aux invites captcha, qui pourraient autrement bloquer vos builds CI. Créez un compte de service avec un rôle d'éditeur dans la console Google Cloud , puis activez-le (consultez la documentation gcloud auth activate-service-account pour savoir comment procéder).

  3. Activez les API requises. Après vous être connecté à l'aide du compte de service : sur la page Bibliothèque d'API de Google Developers Console , activez l' API Google Cloud Testing et l'API Cloud Tool Results . Pour activer ces API, saisissez ces noms d'API dans la zone de recherche en haut de la console, puis cliquez sur Activer l'API sur la page de présentation de cette API.

Installer et configurer Jenkins

Vous pouvez installer et configurer Jenkins CI sous Linux ou Windows. Certains détails de ce guide sont spécifiques à l'installation et à l'exécution de Jenkins CI sous Linux, notamment l'utilisation de barres obliques ( / ) dans les chemins de fichiers.

Pour télécharger et installer Jenkins sur un ordinateur exécutant Linux ou Windows, suivez les instructions sur Installation de Jenkins . Après avoir installé Jenkins, suivez les instructions sur Démarrage et accès à Jenkins pour terminer la configuration et accéder au tableau de bord Jenkins.

Configurer les paramètres de sécurité globaux

Jenkins n'a pas configuré l'authentification des utilisateurs et le contrôle d'accès lors de sa première installation. Avant d'utiliser Jenkins avec Firebase Test Lab, configurez les paramètres de sécurité globaux pour appliquer le contrôle d'accès et authentifier les utilisateurs.

Pour configurer les paramètres de sécurité globaux

  1. Accédez au tableau de bord Jenkins sur votre serveur. Pour ce faire, accédez à http://<servername>:8080 , où <servername> est le nom de l'ordinateur sur lequel vous avez installé Jenkins.
  2. Sur le tableau de bord Jenkins, cliquez sur Gérer Jenkins , puis sur Configurer la sécurité globale .
  3. Sur la page Configurer la sécurité globale , cliquez sur Activer la sécurité , puis cliquez sur Enregistrer .

Pour plus d'informations sur la configuration des paramètres de sécurité pour Jenkins, consultez Sécurité simple et rapide , Configuration de sécurité standard et Sécurisation de Jenkins .

Créer un projet Jenkins

Ensuite, créez un projet pour exécuter des tests d'intégration continue de votre application avec Firebase Test Lab.

Pour créer un projet Jenkins

  1. Accédez au tableau de bord Jenkins sur votre serveur. Pour ce faire, accédez à http://<servername>:8080 , où <servername> est le nom de l'ordinateur sur lequel vous avez installé Jenkins.
  2. Sur le tableau de bord Jenkins, cliquez sur Nouvel élément .
  3. Tapez un nom pour votre projet dans le champ Nom de l'élément :
    • Choisissez Projet Freestyle pour créer un projet qui utilise une seule configuration de build.
    • Choisissez Créer un projet multi-configuration pour créer un projet qui s’exécute sur plusieurs configurations de build différentes. Si vous envisagez de créer votre application avec diverses configurations de build (plusieurs paramètres régionaux, plusieurs niveaux d'API Android, etc.), un projet multi-configuration est le meilleur choix.
  4. Cliquez sur Enregistrer .

Une fois votre projet créé, votre navigateur Web affiche la page principale de votre projet.

Ajouter le contrôle des révisions et les étapes de construction Gradle

Cette section décrit comment intégrer Jenkins à des systèmes de contrôle de révision tels que GitHub, et comment ajouter des étapes de construction Gradle pour créer des packages APK à partir du code source.

Intégration avec GitHub et d'autres systèmes de contrôle de révision

Si vous utilisez GitHub ou un autre système de contrôle de révision pour gérer le code source de votre application, vous pouvez configurer Jenkins pour exécuter des builds automatisés et exécuter des tests chaque fois que les mises à jour de votre application sont archivées. Vous pouvez également configurer Jenkins pour exécuter des builds périodiquement.

Pour en savoir plus sur la configuration des builds dans Jenkins, consultez Configuration des builds automatiques .

Ajout d'étapes de construction Gradle pour reconstruire les packages APK

Si vous utilisez un système de contrôle de révision pour gérer le code source de votre application, vous devez inclure une étape de construction Gradle pour créer de nouveaux binaires APK chaque fois que Jenkins télécharge le code source à partir de votre système de contrôle de révision.

  1. Ajoutez une étape de build pour exécuter les commandes suivantes dans le répertoire principal de votre application :

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

  2. Ajoutez une étape de construction pour utiliser le(s) package(s) APK créé par Gradle lors des tests avec Test Lab. Vous pouvez utiliser ce chemin comme <local_server_path> dans l'exemple de script shell fourni ci-dessous, où <AppFolder> est le dossier du projet Android Studio pour votre application :

    <AppFolder>/app/build/outputs/apk
    

Ajouter les étapes de construction de Test Lab à Jenkins

Vous êtes maintenant prêt à ajouter une étape de construction à Jenkins pour exécuter Test Lab à l'aide de la ligne de commande gcloud.

Pour ajouter une étape de création gcloud

  1. Sur la page principale de votre projet, cliquez sur Configurer .
  2. Sur la page de configuration du projet , faites défiler jusqu'à la section Construire , puis choisissez Exécuter le shell dans le menu Ajouter une étape de génération .

  3. Dans la fenêtre de commande Jenkins Execute Shell , saisissez ce qui suit, en remplaçant <local_server_path> par le chemin d'accès à l'exemple d'application sur le serveur, <app_apk> par l'APK de votre application et <app_test_apk> par l'APK de test de votre application :

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

Analyser les résultats des tests

Une fois que Test Lab a terminé les tests de votre application, vous pouvez consulter les résultats des tests dans la console Firebase ou dans un bucket Google Cloud Storage de votre projet. Vous pouvez également ajouter une commande gsutil à la commande shell indiquée ci-dessus pour copier les données des résultats des tests sur votre ordinateur local. Pour en savoir plus, consultez Analyse des résultats du laboratoire de test Firebase .

Intégration continue avec d'autres systèmes CI

Pour savoir comment utiliser Firebase Test Lab avec d'autres systèmes CI, consultez leurs documents :