Strumento di convalida delle estensioni della videocamera

Lo strumento di convalida delle estensioni della videocamera consente ai produttori di dispositivi di verificare che la libreria del fornitore OEM delle estensioni della videocamera sia implementata correttamente. Lo strumento include test di convalida automatizzati e manuali.

  • Test di convalida automatica:verificano che l'interfaccia della libreria del fornitore sia implementata correttamente. Ad esempio, se CaptureProcessor è necessario per l'acquisizione delle immagini, i test convalidano che ImageCaptureExtenderImpl#getCaptureStages() restituisca le istanze CaptureStage richieste per l'acquisizione delle immagini.

  • Test di convalida manuale:convalida gli effetti immagine e la qualità dell'anteprima e delle immagini acquisite. Ad esempio, i test consentono ai produttori di dispositivi di verificare manualmente se l'effetto ritocco del volto viene applicato correttamente o se l'intensità del bokeh è sufficiente.

Il codice sorgente dello strumento di convalida fa parte dell'app di test delle estensioni nel repository Android Jetpack.

Creare lo strumento di convalida delle estensioni della videocamera

Per creare lo strumento di convalida delle estensioni:

  1. Scarica il codice sorgente della libreria Android Jetpack. Per maggiori dettagli, consulta la sezione Checking out the Code del file README di Android Jetpack.

  2. Crea l'APK extensionstestapp. Ciò consente di eseguire test di convalida manuale.

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

    L'APK viene generato nel seguente percorso:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  3. Crea l'APK androidTest. Questo APK consente di eseguire test di convalida automatizzati.

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

    L'APK viene generato nel seguente percorso:

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

Esegui test di convalida automatici

Per eseguire i test di convalida automatica, installa gli APK extensionstestapp e 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

Esegui tutti i test automatici

Dopo aver installato gli APK, per eseguire tutti i test automatizzati per convalidare l'implementazione della libreria del fornitore, esegui questo comando:

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

Se tutti i test vengono superati, viene restituito il risultato OK. In caso contrario, il report del test finale mostra gli errori nel terminale dopo il completamento di tutti i test.

automated_validation_result-pass

Figura 1. Risultato OK dei test automatici

automated_validation_result-fail

Figura 2. I test automatici restituiscono errori

Esegui test automatici di una classe specifica

Per eseguire test automatici di una classe specifica, specifica il nome e il percorso della classe di destinazione. L'esempio seguente mostra il comando per eseguire i test per 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

Eseguire test di convalida manuale

I test di convalida manuale si trovano nell'app di test delle estensioni. Dopo aver installato e avviato l'app di test delle estensioni, passa alla modalità dello strumento di convalida toccando la voce di menu in alto a destra.

Dopo aver attivato la modalità dello strumento di convalida, la prima pagina elenca tutte le videocamere che contengono la funzionalità REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE. Se una videocamera non supporta alcuna modalità di estensione, la voce di elenco corrispondente è grigia.

camera_validation_result-initial

Figura 3. Modalità dello strumento di convalida

Tocca una delle videocamere per visualizzare le modalità di estensione a scopo di test. Le modalità di estensione non supportate dalla videocamera selezionata sono visualizzate in grigio.

extension_mode_validation_result-initial

Figura 4. Modalità di estensione disponibili per una videocamera

Verifica i risultati dell'anteprima

Per verificare i risultati dell'anteprima, avvia un test manuale toccando una modalità di estensione per la videocamera selezionata. Viene quindi mostrata un'attività di acquisizione di immagini contenente l'anteprima.

preview-bokeh_enabled

Figura 5. Anteprima dell'immagine con bokeh attivato

L'attività di acquisizione delle immagini supporta le seguenti funzioni:

  • Zoom avanti/indietro
  • Tocca per mettere a fuoco
  • Pulsante di commutazione delle modalità flash
  • EV +/-
  • Pulsante di attivazione/disattivazione dell'estensione

Verifica che le funzioni di zoom in/out, messa a fuoco con tocco, modalità flash e EV +/- funzionino come previsto nell'anteprima.

Verifica i risultati dell'immagine acquisita

Per acquisire l'immagine, tocca il pulsante ACQUISIZIONE (il pulsante rotondo) nell'attività di acquisizione dell'immagine. Viene avviata un'attività di convalida dell'immagine che mostra l'immagine acquisita.

photo_viewer-bokeh_enabled

Figura 6. Immagine acquisita con bokeh attivato

L'attività di convalida delle immagini include le seguenti funzioni:

  • Pizzica per aumentare/diminuire la scala dell'immagine
  • Scorri verso sinistra/destra per cambiare le immagini acquisite
  • Acquisisci di nuovo
  • Voce di menu Salva immagine

Verifica che l'immagine acquisita sia corretta e corrisponda alle impostazioni di zoom in/out, messa a fuoco con tocco, modalità flash e EV +/- impostate al momento dell'acquisizione dell'immagine.

Se i risultati acquisiti sono corretti, tocca il pulsante PASS (segno di spunta) nell'angolo in basso a destra. Altrimenti, tocca il pulsante FAIL (punto esclamativo) nell'angolo in basso a sinistra.

Visualizzare i risultati dei test

Dopo che una modalità di estensione è stata verificata come superata o non superata, l'elemento di elenco per la modalità di estensione mostra un colore di sfondo e un indicatore diversi. Nella visualizzazione elenco di tutte le videocamere, gli elementi vengono visualizzati nei seguenti colori:

  • Sfondo bianco: la videocamera supporta almeno una modalità di estensione e le modalità di estensione supportate non sono completamente convalidate.
  • Sfondo verde:la videocamera supporta almeno una modalità di estensione. Tutte le modalità di estensione supportate vengono convalidate e tutti i risultati vengono superati.
  • Sfondo rosso:la videocamera supporta almeno una modalità di estensione. Tutte le modalità di estensione supportate vengono convalidate con almeno un risultato della modalità di estensione non riuscito.
  • Sfondo grigio: questa funzionalità non è disponibile.

camera_validation_result extension_mode_validation_result

Figura 7. Colori che indicano i risultati dei test per le videocamere e le modalità di estensione

Altre funzioni dello strumento di convalida

Al termine di tutti i test, l'attività dell'elenco delle videocamere fornisce le seguenti funzioni:

  • Esporta risultati test:esporta i risultati del test come file CSV nella cartella Documents/ExtensionsValidation.
  • Reimposta:cancella tutti i risultati dei test memorizzati nella cache.
  • App di esempio per le estensioni:passa alla modalità dell'app di esempio per le estensioni.

Al termine del test, puoi esportare i risultati. Se riscontri un problema e una nuova versione dell'implementazione della libreria del fornitore con le soluzioni deve essere verificata di nuovo, reimposta i risultati dei test precedenti ed esegui nuovamente tutte le modalità di estensione supportate su tutte le videocamere per verificare che i problemi siano stati risolti.