Dépannage et questions fréquentes concernant Test Lab

Cette page fournit une aide pour le dépannage et des réponses aux questions fréquentes sur l'exécution de tests avec Firebase Test Lab. Les problèmes connus sont également documentés. Si vous ne trouvez pas ce que vous cherchez ou si vous avez besoin d'aide supplémentaire, rejoignez la chaîne #test-lab sur Firebase Slack ou contactez l'assistance Firebase.

Dépannage

Lorsque vous sélectionnez un appareil avec un niveau de capacité élevé dans le catalogue Test Lab, les tests peuvent démarrer plus rapidement. Lorsque la capacité d'un appareil est faible, les tests peuvent prendre plus de temps. Si le nombre de tests appelés est beaucoup plus important que la capacité des appareils sélectionnés, leur exécution peut prendre plus de temps.

Les tests exécutés à n'importe quel niveau de capacité de l'appareil peuvent prendre plus de temps en raison des facteurs suivants:

  • Le trafic, qui affecte la disponibilité de l'appareil et la vitesse des tests.
  • Des pannes d'appareil ou d'infrastructure, qui peuvent se produire à tout moment. Pour vérifier si une infrastructure est signalée pour Test Lab, consultez le tableau de bord d'état Firebase.

Pour en savoir plus sur la capacité de l'appareil dans Test Lab, consultez les informations sur la capacité de l'appareil pour Android et iOS.

Les résultats de test non concluants se produisent généralement en raison d'exécutions de test annulées ou d'erreurs d'infrastructure.

Les erreurs d'infrastructure sont causées par des problèmes internes Test Lab, tels que des erreurs réseau ou des comportements inattendus de l'appareil. Test Lab retire en interne les exécutions de test qui génèrent des erreurs d'infrastructure plusieurs fois avant de signaler un résultat non concluant. Toutefois, vous pouvez désactiver ces nouvelles tentatives à l'aide de failFast.

Pour déterminer la cause de l'erreur, procédez comme suit:

  1. Recherchez les pannes connues dans le tableau de bord d'état Firebase.
  2. Réessayez le test dans Test Lab pour vérifier qu'il est reproductible.

  3. Essayez d'exécuter le test sur un autre appareil ou un autre type d'appareil, le cas échéant.

Si le problème persiste, contactez l'équipe Test Lab sur le canal #test-lab de Firebase Slack.

La segmentation peut entraîner une durée d'exécution plus longue de vos tests lorsque le nombre de segments que vous avez spécifié dépasse le nombre d'appareils disponibles dans Test Lab. Pour éviter cette situation, essayez d'utiliser un autre appareil. Pour en savoir plus sur le choix d'un autre appareil, consultez la section Capacité de l'appareil.

Lorsque vous envoyez une requête de test, votre application est d'abord validée, signée à nouveau, etc. en vue de l'exécution de tests sur un appareil. Normalement, ce processus se termine en moins de quelques secondes, mais il peut être affecté par des facteurs tels que la taille de votre application.

Une fois votre application préparée, les exécutions de test sont planifiées et restent dans une file d'attente jusqu'à ce qu'un appareil soit prêt à les exécuter. Tant que toutes les exécutions de test ne sont pas terminées, l'état de la matrice est "En attente" (que les exécutions de test soient dans la file d'attente ou en cours d'exécution).

Une fois l'exécution du test terminée, les artefacts de test sont téléchargés depuis l'appareil, traités et importés dans Cloud Storage. La durée de cette étape peut être affectée par la quantité et la taille des artefacts.

Questions fréquentes

Firebase Test Lab propose des quotas sans frais pour les tests sur les appareils et l'utilisation des API Cloud. Notez que le quota de test utilise le forfait tarifaire Firebase standard, contrairement aux quotas de l'API Cloud.

  • Quota de test

    Les quotas de test sont déterminés par le nombre d'appareils utilisés pour exécuter les tests. Le forfait Firebase Spark inclut un quota de tests fixe sans frais pour les utilisateurs. Pour le forfait Blaze, vos quotas peuvent augmenter si votre utilisation de Google Cloud augmente au fil du temps. Si vous atteignez votre quota de tests, attendez le jour suivant ou passez au forfait Blaze si vous utilisez actuellement le forfait Spark. Si vous utilisez déjà le forfait Blaze, vous pouvez demander une augmentation de quota. Pour en savoir plus, consultez la section Quota de test.

    Vous pouvez surveiller votre utilisation du quota de test dans la console Google Cloud.

  • Quotas de l'API Cloud Testing

    L'API Cloud Testing est associée à deux limites de quota: les requêtes par jour et par projet, et les requêtes toutes les 100 secondes par projet. Vous pouvez surveiller votre utilisation dans la console Google Cloud.

  • Quota de l'API Cloud Tool Results

    L'API Cloud Tool Results est associée à deux limites de quota: les requêtes par jour et par projet, et les requêtes toutes les 100 secondes par projet. Vous pouvez surveiller votre utilisation dans la console Google Cloud.

    Pour en savoir plus sur les limites de l'API, consultez la page Quotas de l'API Cloud pour Test Lab. Si vous avez atteint un quota d'API:

    • Envoyez une demande de quotas plus élevés en modifiant vos quotas directement dans la console Google Cloud (notez que la plupart des limites sont définies sur la valeur maximale par défaut).

    • Demandez des quotas d'API plus élevés en remplissant un formulaire de demande dans la console Google Cloud ou en contactant l'assistance Firebase.

Depuis votre backend, vous pouvez déterminer si le trafic provient d'appareils de test hébergés par Firebase en comparant l'adresse IP source à nos plages d'adresses IP.

Test Lab ne fonctionne pas avec VPC-SC, ce qui bloque la copie d'applications et d'autres artefacts de test entre l'espace de stockage interne de Test Lab et les buckets de résultats des utilisateurs.

Pour détecter un comportement instable dans vos tests, nous vous recommandons d'utiliser l'option --num-flaky-test-attempts . Les rediffusions de déflake sont facturées ou comptabilisées dans votre quota journalier de la même manière que les exécutions de test normales.

Tenez bien compte des éléments suivants :

  • L'ensemble de l'exécution du test est de nouveau exécuté lorsqu'un échec est détecté. Il n'est pas possible de ne relancer que les cas de test ayant échoué.
  • Les tentatives de déflaquage sont planifiées pour s'exécuter en même temps, mais leur exécution en parallèle n'est pas garantie, par exemple lorsque le trafic dépasse le nombre d'appareils disponibles.

Bien que certains de ces éléments figurent dans notre feuille de route, nous ne sommes actuellement pas en mesure de nous engager à prendre en charge ces plates-formes de test et de développement d'applications.

Des informations détaillées sur l'appareil sont disponibles via l'API et peuvent être consultées à partir du client gcloud à l'aide de la commande describe:

gcloud firebase test ios models describe MODEL

Le fractionnement n'est pas pris en charge de manière native dans Test Lab pour iOS. Toutefois, vous pouvez utiliser le client Flank pour fractionner les cas de test iOS.

Pour ce faire, définissez la clé et les valeurs OnlyTestIdentifiers dans le fichier .xctestrun. Pour en savoir plus, consultez la page man pour xcodebuild.xctestrun.

Pour iOS 18 ou version ultérieure, nous ne sommes pas en mesure d'afficher des vidéos dans les résultats.

Problèmes connus

Le test robot ne peut pas contourner les écrans de connexion qui nécessitent une action utilisateur supplémentaire en plus de la saisie des identifiants pour se connecter, par exemple, en remplissant un CAPTCHA.

La connexion automatique avec un compte Google n'est pas prise en charge pour les tests Robo pour iOS et versions ultérieures (bêta).