Herramienta de validación de extensiones de cámara

La herramienta de validación de extensiones de cámara permite que los fabricantes de dispositivos verificarás que los Biblioteca de proveedores OEM de extensiones de cámara se implementa de forma correcta. La herramienta incluye validación automática y manual y pruebas.

  • Pruebas de validación automatizadas: Validan que la biblioteca del proveedor. esté implementada correctamente. Por ejemplo, si CaptureProcessor es necesaria para la captura de imágenes, las pruebas validan que ImageCaptureExtenderImpl#getCaptureStages() devuelve el resultado CaptureStage instancias para capturar las imágenes

  • Pruebas de validación manuales: validan los efectos de la imagen y la calidad de la vista previa y las imágenes capturadas. Por ejemplo, las pruebas permiten el acceso para verificar manualmente si el efecto de retoque facial se aplique correctamente o si la intensidad de bokeh es suficiente.

El código fuente de la herramienta de validación forma parte del app de prueba de extensiones en la Repositorio de Android Jetpack.

Cómo compilar la herramienta de validación de extensiones de la cámara

Para crear la herramienta de validación de extensiones, sigue estos pasos:

  1. Descarga el código fuente de la biblioteca de Android Jetpack. Para obtener más información, consulta la Consulta el código sección de la Archivo readme de Android Jetpack

  2. Compila el extensionstestapp APK Esto permite ejecutar pruebas de validación manual.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
    

    El APK se envía a la siguiente ruta de acceso:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  3. Compila el androidTest APK Este APK permite ejecutar pruebas de validación automatizadas.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
    

    El APK se envía a la siguiente ruta de acceso:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
    

Ejecutar pruebas de validación automatizadas

Para ejecutar las pruebas de validación automatizadas, instala extensionstestapp y androidTest APK.

  • APK de 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 de 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
    

Ejecuta todas las pruebas automatizadas

Después de instalar los APK, ejecutar todas las pruebas automatizadas para validar el proveedor para la implementación de bibliotecas, ejecuta el siguiente comando:

adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

Si se superan todas las pruebas, se muestra un resultado OK. De lo contrario, el informe de prueba final muestra las fallas en la terminal después de que se completan todas las pruebas.

pase_de_resultado_de_validación-automática

Figura 1: Resultado correcto de las pruebas automatizadas

error_resultado_de_validación-automática

Figura 2: Resultado de las pruebas automatizadas con errores

Cómo ejecutar pruebas automatizadas de una clase específica

Para ejecutar pruebas automatizadas de una clase específica, especifica el nombre y la ruta de acceso de la clase objetivo. En el siguiente ejemplo, se muestra el comando para ejecutar pruebas para la Clase ImageCaptureTest:

adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

Ejecutar pruebas de validación manual

Las pruebas de validación manual se encuentran en la app de prueba de extensiones. Después de instalar e iniciar la app de prueba de extensiones, cambia a la el modo de herramienta de validación presionando el elemento de menú en la parte superior derecha.

Después de cambiar al modo de herramienta de validación, en la primera página se enumeran todas las cámaras que contienen el REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE de recuperación ante desastres. Si una cámara no admite ningún modo de extensión, su correspondiente el elemento de la lista es gris.

resultado_de_validación_de_cámara-inicial

Figura 3: Modo de herramienta de validación

Presiona una de las cámaras para ver los modos de extensión de las pruebas. Extensión los modos no compatibles con la cámara seleccionada se muestran en gris.

método_extensión_resultado_de_validación-inicial

Figura 4: Modos de extensión disponibles para una cámara

Verifica los resultados de la vista previa

Si quieres verificar los resultados de la vista previa, comienza una prueba manual presionando un ícono modo de extensión de la cámara seleccionada. Una actividad de captura de imágenes que contiene se muestra la vista previa.

vista previa-bokeh_habilitada

Figura 5: Imagen de vista previa con bokeh habilitado

La actividad de captura de imágenes admite las siguientes funciones:

  • Acercar/Alejar
  • Presionar para enfocar
  • Botón para cambiar el modo de flash
  • VE +/-
  • Botón para habilitar o inhabilitar la extensión

Verifica que los modos de acercar/alejar, presionar para enfocar, flash y Las funciones +/- de VE funcionan como se espera en la versión preliminar.

Verifica los resultados de la imagen capturada

Para capturar la imagen, presiona el botón CAPTURE (el botón redondo) en la imagen. captura de actividad. Se iniciará una actividad de validación de imágenes que mostrará la imagen capturada.

visor_de_fotos-bokeh_habilitado

Figura 6: Imagen capturada con bokeh habilitado

La actividad de validación de imágenes incluye las siguientes funciones:

  • Pellizca hacia adentro o hacia afuera para escalar la imagen
  • Desliza el dedo hacia la izquierda o la derecha para cambiar las imágenes capturadas
  • Volver a capturar
  • Elemento de menú para guardar la imagen

Verifica si la imagen capturada es correcta y coincide con el zoom de entrada/salida, presionar para enfocar, modos del flash y ajustes de +/- de VE que se establecieron cuando al capturar la imagen.

Si los resultados capturados son correctos, presiona el botón APROBAR (marca de verificación) en la esquina inferior derecha. De lo contrario, presiona el botón FAIL (signo de exclamación) en la esquina inferior izquierda.

Consulta los resultados de la prueba

Después de que se verifica un modo de extensión como aprobado o reprobado, el elemento de lista del el modo de extensión muestra un indicador y un color de fondo diferentes. En la lista vista de todas las cámaras, los elementos se muestran en los siguientes colores:

  • Fondo blanco: La cámara admite al menos un modo de extensión. los modos de extensión admitidos no se validan por completo.
  • Fondo verde: La cámara admite al menos un modo de extensión. Todo los modos de extensión admitidos se validan con todos los resultados aprobados.
  • Fondo rojo: La cámara admite al menos un modo de extensión. Todo los modos de extensión admitidos se validan con al menos un modo de extensión resultado fallido.
  • Fondo gris: Esta función no está disponible.

resultado_de_validación_de_cámara resultado_de_validación_modo_de_extensión

Figura 7: Colores que indican los resultados de las pruebas de las cámaras y los modos de extensión

Otras funciones de la herramienta de validación

Una vez completadas todas las pruebas, la actividad de la lista de cámaras proporciona la las siguientes funciones:

  • Exportar resultados de la prueba: Exporta los resultados de la prueba como un archivo CSV al Documents/ExtensionsValidation carpeta
  • Restablecer: borra todos los resultados de prueba almacenados en caché.
  • App de ejemplo de extensiones: Cambia a la app de ejemplo de extensiones. .

Después de completar las pruebas, puedes exportar sus resultados. Si encuentras un y una nueva versión de la implementación de la biblioteca del proveedor con el se deben verificar nuevamente las soluciones, restablecer los resultados de la prueba anterior y volver a ejecutar todos los modos de extensión compatibles en todas las cámaras para verificar que los problemas .