L'outil de validation des extensions de caméra permet aux fabricants d'appareils de vérifier que la bibliothèque du fournisseur OEM d'extensions de caméra est implémentée correctement. L'outil inclut des tests de validation automatiques et manuels.
Tests de validation automatisés:ils vérifient que l'interface de la bibliothèque du fournisseur est mise en œuvre correctement. Par exemple, si
CaptureProcessor
est requis pour la capture d'image, les tests vérifient queImageCaptureExtenderImpl#getCaptureStages()
renvoie les instancesCaptureStage
requises pour la capture.Tests de validation manuelle:validez les effets et la qualité des images d'aperçu et capturées. Par exemple, les tests permettent aux fabricants d'appareils de vérifier manuellement si l'effet de retouche du visage est appliqué correctement ou si l'intensité du bokeh est suffisante.
Le code source de l'outil de validation fait partie de l'application de test des extensions dans le dépôt Android Jetpack.
Créer l'outil de validation des extensions d'appareil photo
Pour créer l'outil de validation des extensions, procédez comme suit:
Téléchargez le code source de la bibliothèque Android Jetpack. Pour en savoir plus, consultez la section Checkout du code du fichier README Android Jetpack.
Compilez l'APK
extensionstestapp
. Cela permet d'exécuter des tests de validation manuels.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
L'APK est généré dans le chemin d'accès suivant:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
Compilez l'APK
androidTest
. Cet APK permet d'exécuter des tests de validation automatisés.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
L'APK est généré dans le chemin d'accès suivant:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Exécuter des tests de validation automatisés
Pour exécuter les tests de validation automatisés, installez les APK extensionstestapp
et androidTest
.
APK
extensionstestapp
adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
APK
androidTest
adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Exécuter tous les tests automatisés
Après avoir installé les APK, exécutez la commande suivante pour exécuter tous les tests automatisés afin de valider l'implémentation de la bibliothèque du fournisseur:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Si tous les tests réussissent, un résultat OK est renvoyé. Sinon, le rapport de test final affiche les échecs dans le terminal une fois tous les tests terminés.
Figure 1 : Résultat des tests automatisés OK
Figure 2. Échecs des tests automatisés
Exécuter des tests automatisés d'une classe spécifique
Pour exécuter des tests automatisés d'une classe spécifique, spécifiez le nom et le chemin d'accès de la classe cible. L'exemple suivant montre la commande permettant d'exécuter des tests pour la classe ImageCaptureTest
:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Exécuter des tests de validation manuels
Les tests de validation manuelle se trouvent dans l'application de test des extensions. Après avoir installé et lancé l'application de test des extensions, passez en mode outil de validation en appuyant sur l'élément de menu en haut à droite.
Après avoir activé le mode de l'outil de validation, la première page liste toutes les caméras contenant la fonctionnalité REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Si une caméra n'est compatible avec aucun mode d'extension, l'élément de liste correspondant est grisé.
Figure 3. Mode de l'outil de validation
Appuyez sur l'une des caméras pour afficher les modes d'extension à tester. Les modes d'extension non compatibles avec la caméra sélectionnée sont affichés en gris.
Figure 4. Modes d'extension disponibles pour une caméra
Vérifier les résultats de l'aperçu
Pour vérifier les résultats de l'aperçu, lancez un test manuel en appuyant sur un mode d'extension pour l'appareil photo sélectionné. Une activité de capture d'image contenant l'aperçu s'affiche alors.
Figure 5. Image d'aperçu avec le bokeh activé
L'activité de capture d'image est compatible avec les fonctions suivantes:
- Zoom avant/arrière
- Appuyer pour effectuer la mise au point
- Bouton de sélection des modes de flash
- EV +/-
- Bouton d'activation/de désactivation de l'extension
Vérifiez que les fonctions de zoom avant/arrière, de mise au point par appui, des modes de flash et de +/- EV fonctionnent comme prévu dans l'aperçu.
Vérifier les résultats de l'image capturée
Pour prendre la photo, appuyez sur le bouton CAPTURE (bouton rond) dans l'activité de capture d'image. Une activité de validation d'image s'ouvre et affiche l'image capturée.
Figure 6. Image capturée avec bokeh activé
L'activité de validation d'image comprend les fonctions suivantes:
- Pincer pour redimensionner l'image
- Faites glisser l'écran vers la gauche ou la droite pour changer les images capturées.
- Recapture
- Élément de menu "Enregistrer l'image"
Vérifiez que l'image capturée est correcte et qu'elle correspond aux paramètres de zoom avant/arrière, de mise au point via la fonctionnalité Appuyer pour effectuer la mise au point, les modes de flash et les paramètres EV +/- définis lors de la capture de l'image.
Si les résultats capturés sont corrects, appuyez sur le bouton PASS (Vérifier) en bas à droite. Sinon, appuyez sur le bouton ÉCHEC (point d'exclamation) en bas à gauche.
Afficher les résultats des tests
Une fois qu'un mode d'extension a été validé comme réussi ou non, l'élément de liste correspondant affiche une couleur d'arrière-plan et un indicateur différents. Dans la vue sous forme de liste de toutes les caméras, les éléments sont affichés dans les couleurs suivantes:
- Arrière-plan blanc:la caméra accepte au moins un mode d'extension, et les modes d'extension compatibles ne sont pas entièrement validés.
- Fond vert:l'appareil photo est compatible avec au moins un mode d'extension. Tous les modes d'extension compatibles sont validés et tous les résultats sont acceptés.
- Arrière-plan rouge:l'appareil photo est compatible avec au moins un mode d'extension. Tous les modes d'extension compatibles sont validés, avec au moins un résultat de mode d'extension qui échoue.
- Arrière-plan gris:cette fonctionnalité n'est pas disponible.
Figure 7. Couleurs indiquant les résultats des tests pour les caméras et les modes d'extension
Autres fonctions de l'outil de validation
Une fois tous les tests terminés, l'activité de liste des caméras fournit les fonctions suivantes:
- Exporter les résultats des tests:exporte les résultats des tests au format CSV dans le dossier
Documents/ExtensionsValidation
. - Réinitialiser:efface tous les résultats de test mis en cache.
- Exemple d'application Extensions:bascule vers le mode exemple d'application Extensions.
Une fois les tests terminés, vous pouvez exporter les résultats. Si vous détectez un problème et qu'une nouvelle version de l'implémentation de la bibliothèque du fournisseur avec les solutions doit être à nouveau validée, réinitialisez les résultats des tests précédents et exécutez à nouveau tous les modes d'extension compatibles sur toutes les caméras pour vérifier que les problèmes sont résolus.