Test des pliables ITS de la caméra

À partir d’Android 13, Camera ITS inclut la prise en charge des tests pour les appareils pliables. Les appareils pliables sont dotés de caméras disponibles ou indisponibles selon que l'appareil est plié ou déplié.

Les identifiants des caméras changent en fonction du type, du modèle et de la marque de l'appareil ; et la disponibilité des caméras frontales physiques change en fonction de l'état. Pour cette raison, Camera ITS détermine dynamiquement les combinaisons de scène et de caméra à utiliser pour les tests. Étant donné que les caméras doivent être testées à la fois pliées et dépliées, les tests des appareils pliables nécessitent que le DUT soit remonté pendant le processus de test.

Test des caméras avant et arrière

Les capteurs de caméra disponibles sur un appareil pliable sont différents selon que l'appareil est plié ou déplié. Pour les pliables, la disponibilité de la caméra frontale change en fonction de l’état. Par exemple, la caméra frontale n’est pas disponible à l’état plié. En raison de ce changement dans la disponibilité des caméras frontales, les caméras frontales doivent être testées à la fois pliées et dépliées. Caméra ITS suppose que la disponibilité de la caméra arrière reste la même, que l'appareil soit plié ou déplié, les caméras arrière ne doivent donc ê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 de caméras et de scènes.

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

Orientation de la caméra Comportement du test ITS de la caméra
Caméra arrière Teste la caméra une fois à l'état plié ou déplié
Caméra frontale principale Teste la caméra une fois à l’état plié et une fois à l’état déplié.
Caméra frontale physique Teste la caméra uniquement dans les États où la caméra est disponible.

Procédure de test

Cette section décrit les étapes de test des caméras pour les appareils pliables.

Configurer l'appareil

Pour obtenir des informations sur la configuration, voir Configuration .

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

Pour que Camera ITS détermine si l'appareil est pliable ou non, vous devez accorder l'accès à l'API de test avant d'invoquer les tests. Si l'accès n'est pas accordé, l'exécution des tests Camera ITS entraîne le blocage de l'application.

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

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

Fichier de configuration

Pour spécifier que l'appareil est un appareil pliable, ajoutez le paramètre foldable_device dans les bancs d'essai tablet et sensor_fusion dans le fichier config.yml . Camera ITS utilise ce paramètre pour déterminer les combinaisons camera_id et scène 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 plus de détails, voir Appel de tests .

Lors de l’exécution de Camera ITS sur un appareil pliable, la caméra frontale principale est testée dans les deux états, pliée et dépliée. Si l'appareil est plié, les résultats sont affichés sous l'option camera1_ SCENE_NAME _folded dans l'application CTS Verifier. En fonction de l'état de l'appareil, certains identifiants de caméra physique frontale 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 pour la caméra arrière n'ont pas le suffixe _folded .

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

adb shell cmd device_state state

Lors de l'exécution de tests à l'é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 pliées et dépliées, les scènes pliées sont exécutées en premier, suivies des scènes dépliées. Cela minimise la quantité de remontage nécessaire pendant les tests.

Camera ITS ajoute également le suffixe folded au répertoire tmp créé pour les scènes d'état pliées.

Exemples de commandes

Voici 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ène0. Si l'appareil est plié et que l'utilisateur teste la caméra frontale 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 python tests/scene0/ -c config.yml Exécute un test spécifique.