Commencez à tester avec les appareils virtuels Android

Les appareils virtuels Android (AVD) pour Firebase Test Lab sont des simulations haute fidélité d'appareils Android. Les AVD de Test Lab ont la disponibilité la plus élevée et sont les plus utiles pour le développement quotidien ou les tests d'intégration continue. Ils sont similaires aux AVD pour Android Studio mais sont optimisés pour les performances avec les tests dans le cloud, il y a donc quelques différences entre les deux (par exemple, les AVD de Test Lab ont une connexion de données émulée plutôt qu'une connexion WiFi).

Pourquoi devriez-vous utiliser des appareils virtuels ?

Les appareils virtuels présentent les avantages suivants par rapport aux appareils physiques :

  • Haute disponibilité : vous pouvez exécuter des tests et obtenir des résultats de test plus rapidement lorsque vous testez avec des appareils virtuels. Étant donné que les appareils virtuels sont créés à la demande, vos tests démarrent presque immédiatement, ce qui permet une validation rapide de votre application. Cela rend les appareils virtuels idéaux pour tester de petites mises à jour de votre application ou pour des tests de régression.
  • Durées de test plus longues : les tests sur les appareils physiques sont limités à une durée de test de 45 minutes sur chaque appareil. Les appareils virtuels prennent en charge une durée de test allant jusqu'à 60 minutes, ce qui les rend adaptés pour exécuter des tests plus longs, et en particulier pour mesurer les performances d'une application.
  • Coût réduit : les appareils virtuels sont facturés 1 $ de l'heure pour chaque appareil virtuel utilisé pour tester votre application. Parce qu'ils sont peu coûteux, les appareils virtuels conviennent parfaitement aux tests quotidiens à l'aide de systèmes d'intégration continue ou avant la vérification du code. Pour en savoir plus, consultez Facturation de Test Lab .

Comment tester votre application avec des appareils virtuels

Vous pouvez tester votre application avec des appareils virtuels de la même manière que vous la testez avec des appareils physiques. Sélectionnez simplement les appareils virtuels lorsque vous sélectionnez les dimensions de test pour configurer une matrice de test.

Bonnes pratiques pour tester votre application

Les appareils virtuels augmentent votre gamme d'options lorsque vous testez votre application avec Test Lab. Nous recommandons l'approche suivante pour tester votre application tout au long de son cycle de vie de développement :

  • Dans Android Studio : lorsque vous développez votre application, utilisez l'émulateur Android Studio ou un appareil physique connecté pour examiner chaque build en vue d'une validation initiale. Si vous avez des tests d'instrumentation, vous pouvez également exécuter ces tests à partir d'Android Studio sur des appareils physiques ou virtuels fournis par Test Lab.
  • Utiliser Test Lab avec un appareil virtuel générique MDPI (moyen DPI) basse résolution : vous pouvez exécuter des tests Robo et des tests d'instrumentation sur votre application plus rapidement avec l'appareil virtuel de téléphone MDPI basse résolution générique Test Lab qu'avec d'autres appareils virtuels. L'appareil virtuel MDPI est disponible sur les niveaux d'API 23 et plus. Pour utiliser cet appareil à partir de l'interface de ligne de commande gcloud, utilisez l'ID de modèle NexusLowRes .
  • Utilisez les systèmes d'intégration continue (CI) à chaque changement de code lorsque vous travaillez sur des projets partagés : si vous travaillez sur un grand projet ou si vous contribuez à des projets partagés à l'aide de GitHub ou de sites similaires, nous vous recommandons d'utiliser l'intégration continue (CI). systèmes et testez vos applications sur des appareils virtuels à chaque exécution du système CI ou avant chaque demande d'extraction. Pour en savoir plus sur l'utilisation de Test Lab avec des systèmes CI, consultez Utilisation de Test Lab pour Android avec des systèmes d'intégration continue .
  • Avant de publier des mises à jour d'application importantes : nous vous recommandons d'utiliser Test Lab pour tester votre application sur des appareils physiques avant de publier des mises à jour d'application avec des modifications importantes de l'interface utilisateur et des fonctionnalités. Cela vous aidera à vous assurer que votre application fonctionne correctement sur une large gamme d'appareils physiques courants et garantit également la couverture des tests pour toute fonctionnalité d'application qui repose sur des fonctionnalités d'appareils physiques qui ne sont pas simulées par des appareils virtuels. Pour en savoir plus sur ces fonctionnalités, consultez Limitations connues .

Limites connues

Certaines fonctionnalités de périphérique physique ne sont actuellement pas simulées par des périphériques virtuels ou sont simulées avec certaines limitations. Le tableau suivant récapitule les fonctionnalités qui ne sont actuellement pas disponibles sur les appareils virtuels, ou qui sont disponibles avec certaines limitations :

Caractéristique Détails
Interfaces binaires d'application (ABI) non x86 Les périphériques virtuels ne prennent en charge que l'ABI x86. Si vous développez avec le NDK Android, assurez-vous de générer du code pour le jeu d'instructions x86. Pour en savoir plus, voir Gestion ABI .

Remarque : Si certains des tests de votre matrice de test sont marqués Invalid , cela peut être dû au fait que votre application repose sur du code ARM natif.
Encodage et décodage vidéo Actuellement, seul le décodage vidéo H264 est pris en charge sur les appareils virtuels. L'encodage vidéo n'est pas pris en charge.

Remarque : les vidéos de tests de périphériques virtuels s'exécutent actuellement à une image par seconde, ce qui les rend moins fluides que les vidéos de tests de périphériques physiques.
OpenGL ES 3.x Les bibliothèques graphiques OpenGL ES 3.x et supérieures ne sont pas disponibles sur les périphériques virtuels.
Caméra HAL v3 Pour en savoir plus sur Android Camera HAL v3.0, consultez Vue d'ensemble de Camera HAL v3 .
Réseau privé virtuel (VPN) Actuellement, l'utilisation du VPN n'est pas prise en charge sur les appareils virtuels.