FAQ AWS Device Farm

Test sur des appareils mobiles réels

AWS Device Farm permet aux développeurs d'améliorer la qualité des applications, les délais de commercialisation et la satisfaction des clients en testant les applications et en interagissant avec elles sur de véritables appareils Android et iOS dans le cloud AWS. Les développeurs peuvent télécharger leurs applications, tester des scripts et exécuter des tests automatisés en parallèle sur des centaines d'appareils réels, ce qui leur permet d'obtenir des résultats, des captures d'écran, des vidéos et des données de performance en quelques minutes. Ils peuvent également déboguer et reproduire les problèmes rencontrés par les clients en exécutant des gestes et des glissements, et en interagissant avec un appareil via leur navigateur Web.

AWS Device Farm est conçu pour les développeurs, les équipes de contrôle qualité et les représentants d’assistance à la clientèle qui créent, testent et prennent en charge des applications mobiles pour améliorer la qualité de leurs applications. La qualité des applications est de plus en plus importante et leur complexité accrue en raison du grand nombre de modèles d'appareil, des variations entre les différents microprogrammes et versions de systèmes d'exploitation, des personnalisations de l'opérateur et du fabricant et des dépendances vis-à-vis de services à distance et d'autres applications. AWS Device Farm accélère le processus de développement en exécutant des tests sur plusieurs appareils, ce qui donne aux développeurs, aux équipes de contrôle qualité et aux professionnels de service clientèle de réaliser des tests automatisés et des tâches manuelles telles que la reproduction des problèmes rencontrés par les clients, le test exploratoire de nouvelles fonctionnalités et l'exécution de plans de test manuels. AWS Device Farm permet également de réaliser des économies substantielles en évitant de devoir mettre en place un laboratoire interne pour les appareils, embaucher des responsables de laboratoire et développer une infrastructure d'automatisation.

AWS Device Farm prend en charge les applications Android, iOS et web natives et hybrides, notamment celles créées avec PhoneGap, Titanium, Xamarin, Unity et d'autres frameworks.

Les tests d'AWS Device Farm sont exécutés sur des appareils réels. Parmi les appareils disponibles, on trouve aussi bien des appareils OEM que des appareils personnalisés par les opérateurs.

Mise en place de tests et de sessions d’accès à distance

Consultez notre Manuel de mise en route.

AWS Device Farm fonctionne avec Internet Explorer 9 ou versions ultérieures et avec les dernières versions de Chrome, Firefox et Safari.

Vos applications Web seront testées dans Chrome sur Android et dans Safari sur iOS.

AWS Device Farm prend en charge les fichiers jusqu'à 4 Go.

Aucune instrumentation et aucun code source ne sont nécessaires pour utiliser les tests intégrés. Les applications iOS doivent être conçues avec « Appareil iOS » comme cible plutôt qu’un simulateur.

Les applications et les packages de test sont automatiquement supprimés après 30 jours. Les journaux, les registres vidéo et autres artefacts sont conservés pendant 400 jours. Vous pouvez également choisir de supprimer des fichiers et des résultats à n'importe quel moment grâce à la console AWS Device Farm ou à l'API.

Quand les tests sont terminés, nous exécutons une série de tâches de nettoyage sur chaque appareil, notamment la désinstallation de votre application. S'il est impossible de confirmer la désinstallation de votre application ou l'exécution d'une des autres procédures de nettoyage, l'appareil est retiré et ne sera plus disponible.

Nous continuons d'ajouter de nouvelles étapes de nettoyage et d'améliorer ce processus dans son ensemble, mais il est possible que des données persistent d'une session à une autre, notamment si vous utilisez le système de l'appareil en dehors de votre application. Pour cette raison et parce qu'AWS Device Farm génère des enregistrements vidéo et des journaux des activités ayant lieu durant votre utilisation de chaque appareil, nous recommandons de ne pas fournir ou saisir des informations confidentielles comme des identifiants de compte (compte Google, identifiant Apple, etc.), des informations personnelles et d'autres données sensibles pendant votre test automatisé et vos sessions d'accès à distance.

Sur iOS, nous remplaçons le profil de mise en service intégré par un profil générique et nous réaffectons l'application. Si vous les fournissez, nous ajouterons des données auxiliaires au package de l'application avant l'installation afin que les données soient présentes dans l'environnement de test de votre application. Lorsque l'application est réaffectée, certains droits sont supprimés en conséquence. Ces droits comprennent App Group, Associated Domains, Game Center, HealthKit, HomeKit, Wireless Accessory Configuration, In-App Purchase, Inter-App Audio, Apple Pay, Push Notifications et VPN Configuration & Control.

Sur Android, nous réaffectons simplement l'application. Cela est susceptible d'endommager les fonctionnalités reposant sur la signature de l'application, comme l'API Google Maps pour Android. Cela peut également déclencher la détection anti-piratage et anti-violation disponible dans des produits tels que DexGuard. Pour les tests intégrés, nous sommes susceptibles de modifier le manifeste pour inclure des permissions nécessaires pour prendre et enregistrer des captures d'écran.

Sélection des appareils

AWS Device Farm dispose d'une sélection étendue (et de plus en plus importante) d'appareils Android, iOS et Fire OS. Nous y ajoutons les nouveaux appareils populaires lorsque ceux-ci sont commercialisés par les fabricants. Nous y ajoutons également de nouveaux appareils lorsque de nouvelles versions de système d'exploitation sont publiées. Consultez la liste des appareils disponibles.

Nous disposons actuellement d'appareils internationaux provenant d'Inde. Nous utilisons les données du marché et les commentaires de nos clients pour mettre continuellement la flotte à jour. Si vous souhaitez voir un appareil qui ne fait pas partie de notre flotte, n'hésitez pas à nous en informer.

Pour les tests automatisés, les appareils sont sélectionnés parmi un ensemble d'appareils appelé flotte d'appareils. Certaines flottes d'appareil ciblées sont proposées de manière automatique, mais vous pouvez également créer votre propre flotte. Lors de l'exécution, des tests seront réalisés sur tous les appareils de la flotte spécifiée compatibles avec votre application et vos tests. Pour l'accès à distance, vous devez sélectionner l'appareil de votre choix en fonction de la marque, du modèle, de l'opérateur et de la version du système d'exploitation. Si vous le souhaitez, vous pouvez également télécharger des applications et d'autres données, et configurer d'autres paramètres de l'appareil. Device Farm localise ensuite un appareil disponible correspondant à votre demande et affiche l'écran de l'appareil sur votre navigateur. Vous pouvez ensuite interagir avec l'appareil et réaliser des captures d'écran et enregistrer des vidéos.

Oui, les appareils de test disposeront d'un certain nombre d'applications préinstallées par le fabricant de l'appareil ou par l'opérateur.

Oui. Tous les appareils ont une connexion Wi-Fi avec un accès Internet. Si vos systèmes sont internes (c'est-à-dire derrière un pare-feu d'entreprise), vous pouvez autoriser la plage d'adresses IP 54.244.50.32-54.244.50.63. Le trafic de tous vos appareils proviendra de ces adresses IP.

Bien que vous ne puissiez pas réellement tester les connexions à un opérateur, vous pouvez en simuler les types de connexion et les conditions en utilisant la fonctionnalité de façonnage de réseau. Lorsque vous planifiez un test, vous pouvez sélectionner un profil de réseau ciblé comme « 3G » ou « LTE à pertes » ou créer votre propre profil, en définissant des paramètres tels que le débit, la latence et les pertes. Tout le trafic Wi-Fi depuis l'appareil est façonné et manipulé pour la durée de vos tests, suivant le profil que vous avez choisi. Vous pouvez également simuler des environnements dynamiques en modifiant les paramètres réseau depuis vos scripts de test.

Non. Les appareils ne disposent pas de connexion à un opérateur. Ils ne peuvent donc pas être utilisés pour passer des appels ou envoyer des SMS.

Oui, vous pouvez utiliser les appareils photo avant et arrière de l'appareil. En raison de la manière dont les appareils sont installés, les images et les vidéos peuvent être sombres ou floues.

Test de votre application

La suite de tests de compatibilité intégrée vous permet d'installer, de désinstaller, de lancer et d'exécuter Fuzz sur l'application.

Fuzz réalise un test de fuzzing sur votre interface utilisateur immédiatement après le lancement. Celui-ci consiste à reproduire les gestes aléatoires d'un utilisateur (touchers, glissements, saisie au clavier) de manière rapide dans votre application. Vous pouvez configurer le nombre d'événements, le délai devant s’écouler entre plusieurs événements et la source utilisée pour randomiser les événements. Si vous utilisez la même source d'une série de tests à une autre, vous obtiendrez la même séquence d'événements.

AWS Device Farm permet de tester des applications natives, hybrides et Web pour les plateformes Android et iOS. Les cadres suivants sont pris en charge par défaut : Appium Java JUnit, Appium Java TestNG, Appium Python, Appium Ruby, Appium NodeJS, Instrumentation (y compris JUnit, Espresso et la plupart des tests basés sur l’instrumentation), et XCTest (y compris XCUI et KIF). Pour plus d’informations et une liste complète des cadres pris en charge, consultez notre documentation.

Vous pouvez réaliser des tests écrits en Appium Java JUnit, Appium Java TestNG et Appium Python.

Nous évaluons constamment de nouveaux frameworks à prendre en charge. Veuillez nous contacter..

Si vous utilisez l'un des frameworks d'automatisation pris en charge, vous avez le contrôle total et pouvez décider du moment où prendre des captures d'écran. Ces captures d'écran sont incluses automatiquement dans vos rapports.

Oui, Services Google Play est installée sur les appareils qui la prennent en charge. Les services sont mis à jour lorsque de nouvelles versions sont disponibles.

Non. Les appareils ne disposent pas d'un compte Google actif.

AWS Device Farm prend en charge des frameworks comme Espresso et Robotium qui sont dotés d'outils de script d'enregistrement et de lecture.

Non, AWS Device Farm remplacera automatiquement un profil de mise en service et signera de nouveau votre application afin qu'elle puisse être déployée sur nos appareils.

Non, mais vous pouvez télécharger les journaux et créer au niveau local des symboles sur les fichiers trace de la stack.

Oui, à condition d'utiliser ProGuard. Si vous utilisez DexGuard avec des mesures anti-piratage, nous ne sommes pas en mesure de resigner l'application et d'effectuer des tests sur celle-ci.

Bien que les appareils aient accès à Internet, nous ne garantissons aucunement que les annonces seront affichées. Nous vous recommandons d'enlever les annonces des versions de vos applications testées sur AWS Device Farm.

Oui. Si vous utilisez un framework client/serveur comme Calabash, Appium ou UI Automation, vous pouvez accéder à Internet et exécuter un nombre limité de commandes shell à partir de l'hôte.

Vous pouvez fournir une archive .zip de 4 Go maximum. Sur Android, elle sera extraite à la racine de la mémoire externe ; sur iOS, au niveau de l'environnement de test de votre application. Pour les fichiers d'extension (OBB) Android, nous placerons automatiquement le fichier à l'emplacement approprié pour la version du système d'exploitation. Pour en savoir plus, consultez le Guide du développeur.

Oui, vous pouvez sélectionner différentes applications, ainsi que l'ordre dans lequel les installer. Ces applications dépendantes seront installées avant le démarrage de vos tests.

Oui, pour tester votre flux de mise à jour, vous pouvez charger et installer une ancienne version de votre application avant que la nouvelle version soit installée et testée.

Oui. Vous pouvez fournir les coordonnées de latitude et de longitude qui seront utilisées pour remplacer le GPS d'un appareil.

Oui, vous pouvez fournir une langue (ex. : fr_FR) pour remplacer le paramètre de langue par défaut sur un appareil.

Les tests sont placés immédiatement dans la file d'attente pour exécution et démarrent généralement en quelques minutes. Si un ou plusieurs appareils ne sont pas disponibles, l'exécution du test pour ces appareils reste dans la file d'attente jusqu'à ce qu'ils soient disponibles. Le test se poursuivra sur les autres appareils de votre série de tests.

La durée maximale autorisée est de 150 minutes. 

Oui. Nous disposons d'un module d'extension pour l'environnement d'intégration continue Jenkins et d'un module d'extension Gradle compatible avec Android Studio. AWS Device Farm propose également un support de programmation pour toutes les fonctionnalités de la console, notamment la mise en place d'un test et le téléchargement des résultats des tests par le biais d'une API. Pour plus d'informations, consultez la page Références d’API Reference d'AWS Device Farm. Outre l’API, vous pouvez accéder à AWS Device Farm à partir de kits SDK AWS.

Examen des résultats

Le rapport de test d'AWS Device Farm contient des informations de réussite/d’échec, des rapports de plantage, des journaux de test, des journaux d'appareils, des captures d'écran, des vidéos et des données de performances. Les rapports incluent des données détaillées par appareil, ainsi que des résultats généraux, comme le nombre d'occurrences d'une erreur donnée. Les résultats de l'accès à distance contiennent des journaux et une vidéo de la session.

Les rapports AWS Device Farm comportent des journaux logcat (Android) et d'appareil (iOS) complets, ainsi que des journaux issus du dispositif hôte et du framework test spécifié.

Si vous écrivez des données dans logcat (Android) ou dans un journal d'appareil (iOS), ces entrées de journaux seront incluses dans le rapport. AWS Device Farm ne collecte pas les journaux ni les autres artéfacts non standard, mais vous pouvez transférer des fichiers via votre script de test à l'aide de la connexion Internet de l'appareil ou du dispositif hôte.

Tarification

La tarification est basée sur le nombre de minutes sur appareil. Ce chiffre est déterminé par l’addition de la durée des tests sur chacun des appareils sélectionnés. AWS Device Farm est livré avec une version d'essai gratuite de 1000 minutes d'appareil*, après quoi, des frais de 0,17 USD par minute d'appareil seront facturés aux clients. Lorsque vos besoins en matière de tests évoluent, vous pouvez opter pour un forfait de test illimité, qui vous permet d'exécuter des tests sans limites pour un abonnement mensuel fixe de 250 USD par appareil.

Les 1 000 premières minutes sur appareil sont gratuites. Il s'agit d'un essai unique, qui ne peut être renouvelé. Une fois les 250 minutes attribuées au titre de l'essai épuisées, vous serez facturé au tarif standard de 0,17 USD par minute sur l'appareil.

Une minute sur appareil correspond à l'unité de facturation. Les minutes sur appareil constituent une mesure du temps nécessaire (en minutes) pour installer, exécuter et désinstaller votre application, ainsi que pour réaliser les tests, sur chaque appareil sélectionné pour votre série de tests. Le prix unitaire est constant, quels que soient l'appareil, le test ou le type d'application. Les minutes sur appareil ne sont facturées que pour les tests qui se terminent sans erreur sur l'appareil ni erreur système. De même, pour les sessions d'accès à distance, les minutes sur appareil sont mesurées en fonction du temps nécessaire pour préparer un appareil selon vos spécifications afin de supprimer complètement toutes les applications et données que vous avez placées sur l'appareil.

Vous pouvez augmenter ou réduire votre utilisation de manière dynamique en fonction des besoins de votre entreprise, sans limites ni engagement initial.

Vos 1 000 premières minutes d'utilisation de l'appareil sont fournies gratuitement.* Il s'agit d'une période d'essai unique qui ne se renouvelle pas. Une fois les 250 minutes attribuées au titre de l'essai épuisées, vous serez facturé au tarif standard de 0,17 USD par minute sur l'appareil.

Les programmes illimités permettent de profiter de tests et d'accès à distance de façon illimitée à partir de 250 USD par mois. La tarification des programmes illimités est basée sur le nombre d'emplacements d'appareil achetés pour chaque type d'utilisation (test automatisé ou accès à distance) et pour chaque famille d'appareils (Android ou iOS). Ces derniers sont facturés à hauteur de 250 USD par mois. Les emplacements d'appareil correspondent au nombre d'essais simultanés.

Par exemple, si vous achetez 10 emplacements d'appareil Android pour réaliser des tests automatisés et vous programmez un essai sur 100 appareils Android, Device Farm exécute vos tests sur 10 appareils maximum à la fois, jusqu'à ce qu'ils aient tous été accomplis sur les appareils sélectionnés. Si vous achetez des emplacements supplémentaires, vous obtenez plus rapidement des résultats.. Quel que soit le nombre de tests ou de sessions d'accès à distance réalisés en un mois, vous serez facturé au tarif fixe de 250 USD par mois pour chaque emplacement d'appareil. Vous pouvez résilier à tout moment votre abonnement à un ou plusieurs emplacements d'appareil. La résiliation prend effet à la date du prochain renouvellement (le jour du mois où vous avez acheté votre premier emplacement d'appareil actif). Vous pouvez acheter des emplacements à partir de la console AWS Device Farm, de l'interface de ligne de commande AWS (CLI AWS) ou de l'API AWS Device Farm. Pour en savoir plus, consultez notre documentation.

Vous pouvez ajouter à tout moment des emplacements d'appareil. Ils seront alors mis immédiatement à votre disposition. Vous pouvez également résilier à tout moment votre abonnement pour un ou plusieurs emplacements d'appareil. La résiliation prendra effet à la prochaine date de renouvellement (le jour du mois où vous avez acheté votre premier emplacement d'appareil actif).

Oui. Lors de la création d'une série de tests, vous pouvez choisir entre utiliser vos emplacements d'appareil illimités ou utiliser les minutes des appareils limités. Puisque le nombre d'essais simultanés n'est pas limité avec la facturation à la minute, vous pouvez exécuter des tests plus rapidement qu'avec vos emplacements d'appareil.

Un périphérique privé est une instance physique d'un téléphone ou d'une tablette exclusivement associée à votre compte. Les périphériques privés peuvent présenter des configurations statiques personnalisées et exécuter des images de système d'exploitation personnalisées. Chaque périphérique est déployé en votre nom et supprimé à la fin de votre abonnement.

Chaque périphérique privé associé à votre compte représente un abonnement avec périphérique privé. L'abonnement mensuel présente une tarification progressive indexée sur le coût du périphérique et commence à 200 USD/mois. Une fois la période d'abonnement minimale écoulée, vous pouvez choisir de mettre un terme à votre abonnement à tout moment. Veuillez nous contacter pour en savoir plus.

Oui. Lorsque vous sélectionnez des appareils pour un test ou une session d'accès à distance, vous voyez en même temps vos appareils publics et privés. Vous pouvez également créer des flottes d'appareils avec des appareils privés et des appareils publics. Pour plus d'informations sur les appareils privés, veuillez nous contacter.

Tests sur des navigateurs de bureau

Selenium est un cadre open source qui automatise les interactions du navigateur web. Pour en savoir plus sur Selenium, accédez à ce lien.

Device Farm vous permet d'exécuter vos tests Selenium sur différents navigateurs de bureau et différentes versions de navigateur hébergés sur le Cloud AWS. Device Farm suit un modèle d'exécution côté client pour les tests Selenium, c'est-à-dire que vos tests s'exécutent sur votre machine locale, mais interagissent avec les navigateurs hébergés sur AWS Device Farm par le biais de l'API Selenium.

Pour commencer, consultez notre Manuel de mise en route en cliquant ici.

Tous les navigateurs sont hébergés sur des instances EC2 Windows qui s'exécutent sur Microsoft Windows Server.

Cliquez ici pour consulter la liste des navigateurs de bureau et des versions de navigateurs pris en charge.

Cliquez ici pour consulter la liste des capacités Selenium souhaitées prises en charge par Device Farm.

Device Farm génère des journaux de console, des journaux de web driver, des journaux d'actions et des enregistrements vidéos de la totalité du test pour vous aider à dépanner les échecs.

Oui. Device Farm prend en charge le test d'applications web sur des appareils mobiles réels grâce à Appium. Consultez notre Guide du développeur sur les tests web Appium pour en savoir plus. Veuillez noter que pour les tests sur des appareils mobiles réels, Device Farm suit un modèle d'exécution côté serveur : vous devrez donc charger vos tests sur le service.

Cliquez ici pour connaître toutes les limites de cette fonctionnalité.

La tarification est basée sur le nombre de minutes sur instance. Ce chiffre est déterminé par l’addition de la durée des tests sur chacune des instances de navigateur sélectionnées. Chaque minute sur instance de navigateur vous sera facturée 0,005 USD.

Une minute sur instance est l'unité de facturation pour les tests sur navigateurs de bureau sur Device Farm. Les minutes sur instance constituent une mesure du temps nécessaire (en minutes) pour exécuter vos tests sur chaque instance de navigateur sélectionnée pour votre série de tests. Le prix unitaire de 0,005 USD est constant, quels que soient le navigateur et la version de navigateur que vous avez sélectionnés. Nous ne facturons pas le temps nécessaire au lancement, à l'initialisation ou à l'arrêt de l'instance EC2 qui héberge le navigateur.