Travailler avec des appareils dans TF

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Trade Federation utilise une abstraction appelée ITestDevice pour exécuter des tests. Cette abstraction objective l'appareil Android au plus petit dénominateur commun :

  • Il a un numéro de série
  • Il a un état : En ligne, Disponible, Récupération ou Non disponible
  • Il a une certaine notion de fiabilité. Par exemple, si nous exécutons une commande, nous pouvons différencier le cas où la commande n'est pas encore terminée, le cas où l'appareil ne prend pas en charge les commandes en cours d'exécution et le cas où l'appareil ne répond plus lors de l'exécution de la commande.

Classes d'appareils

Les trois principales implémentations d' ITestDevice représentent trois cas d'utilisation courants.

Appareil physique

Il s'agit d'un véritable matériel, connecté à la machine hôte TF soit par USB, soit en utilisant la fonction TCP d'adb. La classe TestDevice se trouve au sommet de la bibliothèque ddmlib, qui est une interface Java pour adb. Ainsi, tout périphérique physique répertorié dans adb devices peut être instancié et utilisé en tant que TestDevice .

Émulateur

Les émulateurs sont gérés spécialement par TF car ils vivent dans un autre processus. Pour interagir avec un émulateur, spécifiez l'argument --emulator pour la commande. Voir LocalSdkBuildProvider et SdkAvdPreparer pour plus d'informations.

Aucun dispositif

Supposons que vous ayez un test qui n'interagit pas du tout avec un appareil. Par exemple, il peut simplement télécharger un fichier à partir d'un service et vérifier que le fichier lui-même est valide. Le NullDevice est un ITestDevice qui n'est qu'un stub. Il a un numéro de série comme null-device-N , et la plupart des opérations tentées sont soit no-op silencieusement, soit throw.