Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Démarrez avec Firebase Test Lab à partir de la ligne de commande gcloud

Firebase Test Lab vous permet de tester votre application iOS sur plusieurs appareils via l' interface de ligne de commande gcloud . Continuez à lire pour savoir comment commencer.

Créer un projet Firebase

Si vous n'avez pas de projet Firebase pour votre application, accédez à la console Firebase et cliquez sur Créer un nouveau projet pour en créer un maintenant. Vous aurez besoin de droits de propriété ou de modification dans votre projet.

Vous pouvez utiliser Test Lab pour un nombre limité d'exécutions de tests quotidiens sur les plans Spark et Flame. Pour utiliser Test Lab sans limites de quota quotidiennes, vous devez passer au plan Firebase Blaze.

Configurer votre environnement SDK Google Cloud local

  1. Téléchargez le SDK Google Cloud.
  2. Cela inclut l'outil CLI gcloud.

  3. Assurez-vous que votre installation est à jour et inclut la commande gcloud firebase :
          gcloud components update
  4. Connectez-vous à l'interface de ligne de commande gcloud à l'aide de votre compte Google:
          gcloud auth login
  5. Définissez votre projet Firebase dans gcloud, où PROJECT_ID est l'ID de votre projet Firebase:
         gcloud config set project PROJECT_ID 

Créez des tests XCT pour votre application

Pour créer votre test, utilisez la commande suivante dans le terminal:

projet

xcodebuild -project PATH/TO/YOUR_WORKSPACE .xcodeproj \
  -scheme YOUR_SCHEME \
  -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
  -sdk iphoneos build-for-testing

espace de travail

xcodebuild -workspace PATH/TO/YOUR_WORKSPACE .xcworkspace \
  -scheme YOUR_SCHEME \
  -derivedDataPath FOLDER_WITH_TEST_OUTPUT \
  -sdk iphoneos build-for-testing

Une fois votre test généré avec succès, compresser le fichier pour le télécharger dans Test Lab:

cd FOLDER_WITH_TEST_OUTPUT /Build/Products ; \
zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun

Exécutez vos tests

Choisissez vos dimensions de test

Test Lab vous permet d'exécuter des tests sur une variété de versions, d'appareils, d'orientations d'écran et de paramètres régionaux iOS. Ces configurations sont appelées dimensions de test du test . Pour afficher les options de chaque dimension, remplacez par des models , des versions ou des locales dimension dans la commande suivante:

gcloud firebase test ios dimension list

L'orientation de l'écran est un peu plus simple, car ses seules options sont portrait et landscape .

Parcourez la liste des dimensions de test et sélectionnez quelques combinaisons sur lesquelles vous souhaitez exécuter votre test. Si vous êtes sur les plans Spark ou Flame, vous pouvez exécuter jusqu'à 5 combinaisons par jour. Si vous êtes sur le plan Blaze, vous pouvez exécuter des tests sur un nombre illimité de combinaisons par jour, mais vous ne pouvez inclure que 200 combinaisons maximum dans chaque exécution. Pour plus d'informations sur les limites de test et la tarification, consultez Plans de tarification .

Exécutez les tests

Une fois que vous avez choisi un ensemble de dimensions de test, vous pouvez demander à Test Lab d'exécuter vos tests à l'aide de la commande firebase test ios run . Pour chaque combinaison de dimensions de test sur laquelle vous souhaitez tester, incluez un indicateur --device distinct:

gcloud firebase test ios run --test PATH/TO/MyTests.zip \
  --device model= MODEL_ID_1 ,version= VERSION_ID_1 ,locale= LOCALE_1 ,orientation= ORIENTATION_1 \
  --device model= MODEL_ID_2 ,version= VERSION_ID_2 ,locale= LOCALE_2 ,orientation= ORIENTATION_2 \
  etc...

Il est possible que votre test échoue en raison d'une incompatibilité entre la version Xcode avec laquelle le test a été construit et la version Xcode par défaut utilisée par Test Lab. Pour choisir la version de Xcode pour les tests, utilisez l' --xcode-version :

gcloud firebase test ios run --test PATH/TO/MyTests.zip \
  --device model= MODEL_ID_1 ,version= VERSION_ID_1 ,locale= LOCALE_1 ,orientation= ORIENTATION_1 \
  --xcode-version=11.3

Analysez les résultats de vos tests

Une fois le test terminé, l'outil gcloud imprime un résumé de base de vos résultats de test. Dans le cadre du résumé, l'outil comprend un lien pour afficher des résultats plus détaillés dans la console Firebase. Pour en savoir plus sur l'interprétation de ces résultats, consultez Analyse des résultats des tests Firebase .

Automatisez les futurs tests

Script des commandes gcloud avec Test Lab

Vous pouvez utiliser des scripts shell ou des fichiers de commandes pour automatiser les commandes de test d'applications mobiles que vous exécuteriez autrement à l'aide de la ligne de commande gcloud. Cet exemple de script bash exécute un XCTest avec un délai d'expiration de deux minutes et signale si le test s'est terminé avec succès:

if gcloud firebase test ios run --test MyTest.zip --timeout 2m
then
    echo "Test matrix successfully finished"
else
    echo "Test matrix exited abnormally with non-zero exit code: " $?
fi

Codes de sortie de script

Test Lab fournit plusieurs codes de sortie que vous pouvez utiliser pour mieux comprendre les résultats des tests que vous exécutez à l'aide de scripts ou de fichiers de commandes.

Script de codes de sortie pour Test Lab

Code de sortie Remarques
0 Toutes les exécutions de test ont réussi.
1 Un échec général s'est produit. Les causes possibles incluent: un nom de fichier qui n'existe pas ou une erreur HTTP / réseau.
2 Le test s'est terminé car des commandes ou des arguments inconnus ont été fournis.
dix Un ou plusieurs cas de test (classes ou méthodes de classe testées) dans une exécution de test n'ont pas réussi.
15 Firebase Test Lab n'a pas pu déterminer si la matrice de test a réussi ou échoué en raison d'une erreur inattendue.
19 La matrice de test a été annulée par l'utilisateur.
20 Une erreur d'infrastructure de test s'est produite.

L'étape suivante

Lisez la documentation du SDK Google Cloud pour découvrir les options de test généralement disponibles ou en version bêta .