À 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. Pour cette raison, Camera ITS détermine de manière dynamique les combinaisons de scène et de caméra à utiliser pour les tests. Étant donné que les appareils photo doivent être testés à l'état plié et déplié, les tests sur les appareils pliables nécessitent qu'ils soient réinstallés lors du 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 à l'état plié et déplié. 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.
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 des états où elle est disponible. |
Procédure de test
Cette section décrit la procédure à suivre pour tester les appareils photo sur les 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 Camera ITS détermine si l'appareil est pliable ou non, vous devez accorder l'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 le vérificateur CTS 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è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 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 lorsque l'appareil est plié, Camera 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 à l'état 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 permettant d'exécuter des tests sur les 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/ |
Exécute un test spécifique. |