Test de l'appareil photo des pliables ITS

À partir d'Android 13, la fonctionnalité ITS de l'appareil photo inclut la compatibilité avec les tests pour les appareils pliables. Les appareils pliables disposent de caméras disponibles ou non, selon que l'appareil est plié ou déplié.

Les ID de caméra varient en fonction du type, du modèle et de la marque de l'appareil. La disponibilité des caméras avant physiques varie en fonction de l'état. Par conséquent, l'ITS de l'appareil photo détermine de manière dynamique les combinaisons de scène et d'appareil photo à utiliser pour les tests. Comme les caméras doivent être testées à la fois en position pliée et dépliée, les tests des appareils pliables nécessitent de remonter le DUT pendant le processus de test.

Test des caméras avant et arrière

Les capteurs d'appareil photo disponibles sur un appareil pliable sont différents selon que l'appareil est ouvert ou fermé. Pour les appareils pliables, la disponibilité de la caméra avant varie en fonction de l'état. Par exemple, la caméra avant n'est pas disponible lorsque l'appareil est plié. En raison de cette modification de la disponibilité de la caméra avant, les caméras avant doivent être testées à la fois en position pliée et dépliée. L'ITS de la caméra suppose que la disponibilité de la caméra arrière reste la même, que l'appareil soit plié ou déplié. Par conséquent, les caméras arrière ne doivent être testées qu'une seule fois.

En fonction de l'état de l'appareil, Camera ITS filtre les appareils photo indisponibles et les appareils photo n'apparaissent pas dans la liste des combinaisons d'appareil photo et de scène.

Le tableau suivant décrit le comportement du test ITS de la caméra pour chaque orientation de la caméra.

Orientation de l'appareil photo Comportement des tests ITS de la caméra
Caméra arrière Teste la caméra une fois dans l'état plié ou déplié
Caméra avant principale Teste la caméra une fois à l'état plié et une fois à l'état déplié.
Caméra avant physique Teste la caméra uniquement dans les États où elle est disponible.

Procédure de test

Cette section décrit les étapes à suivre pour tester les appareils photo des appareils pliables.

Configurer un appareil

Pour en savoir plus sur la configuration, consultez la section Configuration.

Accorder l'accès à l'API de test

Pour que l'ITS de la caméra puisse déterminer si l'appareil est pliable ou non, vous devez accorder un accès à l'API de test avant d'appeler les tests. Si l'accès n'est pas accordé, l'exécution des tests ITS de la caméra entraîne le plantage de l'application.

Pour accorder l'accès, exécutez la commande ADB suivante. Cette commande doit être exécutée une seule fois pour un seul appareil. Si CTS Verifier est réinstallé avec une autre version, vous devez exécuter à nouveau la commande.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

Fichier de configuration

Pour spécifier qu'il s'agit d'un appareil pliable, ajoutez le paramètre foldable_device dans les plates-formes de test tablet et sensor_fusion du fichier config.yml. L'ITS de l'appareil photo utilise ce paramètre pour déterminer les combinaisons camera_id et de scènes pour les états plié et déplié.

Voici un exemple de fichier config.yml pour un appareil pliable.

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

Exécuter des tests

Pour exécuter les tests ITS sur un appareil pliable, exécutez la commande run_all_tests.py. Pour en savoir plus, consultez la section Appeler des tests.

Lorsque vous exécutez l'ITS de l'appareil photo sur un appareil pliable, la caméra avant principale est testée dans les deux états, plié et déplié. Si l'appareil est plié, les résultats s'affichent sous l'option camera1_SCENE_NAME_folded dans l'application CTS Verifier. Selon l'état de l'appareil, certains ID de caméra physique avant ne sont pas disponibles et ne sont pas testés. La caméra arrière ne doit être testée que dans un seul état, de préférence l'état plié, et les résultats de la caméra arrière ne comportent pas le suffixe _folded.

Pour vous assurer que les scènes pliées sont exécutées lorsque l'appareil est plié et vérifier l'état du DUT pliable, exécutez la commande suivante.

adb shell cmd device_state state

Lorsque vous exécutez des tests dans un état plié, la caméra ITS affiche un message dans le terminal pour inviter l'utilisateur à configurer correctement l'appareil sur le boîtier ITS. Pour continuer à exécuter le test après l'invite, appuyez sur Entrée.

Si vous exécutez toutes les scènes à la fois dans les états plié et déplié, les scènes pliées sont exécutées en premier, suivies des scènes dépliées. Cela réduit le nombre de remontages nécessaires lors des tests.

L'ITS de l'appareil photo ajoute également le suffixe folded au répertoire tmp créé pour les scènes d'état plié.

Exemples de commandes

Vous trouverez ci-dessous des exemples de commandes pour l'exécution de tests sur des appareils pliables.

Commande Description
python tools/run_all_tests.py Exécute toutes les scènes.
python tools/run_all_tests.py scenes=scene0 Exécute la scène 0. Si l'appareil est plié et que l'utilisateur teste la caméra avant principale, le script détermine l'état de l'appareil et ajoute le suffixe _folded au nom de la scène. Les utilisateurs n'ont pas besoin d'ajouter le suffixe pour exécuter les scènes pliées.
python tests/scene0/ -c config.yml Exécute un test spécifique.