Outil de validation des extensions pour l'appareil photo

L'outil de validation des extensions d'appareil photo permet aux fabricants d'appareils vérifiez que la Bibliothèque des fournisseurs OEM d'extensions pour appareil photo est correctement implémentée. L'outil inclut une validation automatisée et manuelle tests.

  • Tests de validation automatisés:ils vérifient que la bibliothèque de fournisseurs est implémentée correctement. Par exemple, si CaptureProcessor est requises pour la capture d'image, les tests valident ImageCaptureExtenderImpl#getCaptureStages() renvoie l'élément CaptureStage pour la capture des images.

  • Tests de validation manuelle:validez les effets et la qualité des images des aperçus et des images capturées. Par exemple, les tests autorisent l'accès aux fabricants de valider manuellement si l'effet de la retouche du visage ou si l'intensité du bokeh est suffisante.

Le code source de l'outil de validation fait partie application test des extensions dans 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:

  1. Téléchargez le code source de la bibliothèque Android Jetpack. Pour en savoir plus, consultez les Découvrir le code de la Fichier README d'Android Jetpack.

  2. Créez le extensionstestapp APK. 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 renvoie vers 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
    
  3. Créez le androidTest APK. 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 renvoie vers 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 extensionstestapp et androidTest APK.

  • extensionstestapp APK

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  • androidTest APK

      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, pour exécuter tous les tests automatisés afin de valider le fournisseur bibliothèque, exécutez la commande suivante:

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.

automatique_validation_result-pass

Figure 1 : Résultat des tests automatisés OK

Échec de la validation automatique des résultats

Figure 2. Résultat des tests automatisés (avec échecs)

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 présente la commande permettant d'exécuter des tests pour le 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 manuels se trouvent dans le application de test des extensions. Après avoir installé et lancé l'application de test des extensions, passez à la en appuyant sur l'élément de menu en haut à droite.

Une fois que vous avez activé l'outil de validation, la première page répertorie toutes les caméras contenant le paramètre REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE de Google Cloud. Si une caméra n'est compatible avec aucun mode d'extension, son l'élément de liste est gris.

Camera_validation_result-initial

Figure 3. Mode de l'outil de validation

Appuyez sur l'une des caméras pour afficher les modes d'extension des tests. Prolongation non compatibles avec la caméra sélectionnée s'affichent en gris.

mode_extension_validation_result-initiale

Figure 4. Modes d'extension disponibles pour un appareil photo

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 la caméra sélectionnée. Une activité de capture d'image contenant l'aperçu s'affiche.

aperçu-bokeh_activé

Figure 5. Aperçu de l'image avec bokeh activé

L'activité de capture d'image prend en charge les fonctions suivantes:

  • Zoom avant/arrière
  • Appuyer pour effectuer la mise au point
  • Bouton de changement de mode de flash
  • VE +/-
  • Bouton d'activation/de désactivation de l'extension

Vérifiez que les modes de zoom avant/arrière, de mise au point en appuyant sur l'écran, de flash et Les fonctions VE +/- fonctionnent comme prévu dans l'aperçu.

Vérifier les résultats des images capturées

Pour prendre l'image, appuyez sur le bouton CAPTURE (CAPTURE) (le bouton rond) situé sur l'image. la capture d'activité. Une activité de validation d'image est lancée et affiche l'image capturée.

photo_viewer-bokeh_enabled

Figure 6. Image capturée avec bokeh activé

L'activité de validation d'image inclut les fonctions suivantes:

  • Pincez vers l'avant ou l'arrière pour redimensionner l'image
  • Faites glisser votre doigt vers la gauche/droite pour changer d'image capturée.
  • Reprendre
  • Élément de menu "Enregistrer l'image"

Vérifiez que l'image capturée est correcte et correspond au zoom Marche/Arrêt, mise au point via l'appui pour effectuer la mise au point, modes flash et VE +/- des paramètres définis lors du pour capturer l'image.

Si les résultats capturés sont corrects, appuyez sur le bouton RÉUSSITE (coche) dans la en bas à droite. Sinon, appuyez sur le bouton ÉCHEC (point d'exclamation) dans le coin inférieur gauche.

Afficher les résultats des tests

Lorsqu'un mode d'extension est validé ou échoué, l'élément de liste correspondant à l'état Le mode extension affiche une couleur d'arrière-plan et un indicateur différents. Dans la liste de toutes les caméras, les éléments s'affichent dans les couleurs suivantes:

  • Arrière-plan blanc:la caméra est compatible avec au moins un mode d'extension et les modes d'extension pris en charge ne sont pas entièrement validés.
  • Arrière-plan vert:la caméra est compatible avec au moins un mode d'extension. Tout les modes d'extension compatibles sont validés et tous les résultats sont transmis.
  • Arrière-plan rouge:la caméra accepte au moins un mode d'extension. Tout les modes d'extension compatibles sont validés avec au moins un mode d'extension l'échec du résultat.
  • Arrière-plan gris:cette fonctionnalité n'est pas disponible.

Camera_validation_result mode_extension_validation_result

Figure 7. Couleurs indiquant les résultats des tests pour les appareils photo et les modes d'extension

Autres fonctions de l'outil de validation

Une fois tous les tests terminés, l'activité "Liste des caméras" fournit les fonctions suivantes:

  • Exporter les résultats des tests:exporte les résultats des tests au format CSV vers le Dossier Documents/ExtensionsValidation.
  • Réinitialiser:efface tous les résultats de test mis en cache.
  • Extensions sample app (application exemple d'extensions) : permet de passer à l'application exemple d'extensions. .

Une fois les tests terminés, vous pouvez en exporter les résultats. Si vous trouvez un et une nouvelle version de l'implémentation de la bibliothèque du fournisseur avec les solutions doivent être vérifiées à nouveau, réinitialisées les résultats des tests précédents et réexécutés tous les modes d'extension compatibles avec toutes les caméras afin de vérifier que les problèmes sont fixes.