Strumento di convalida delle estensioni per le videocamere

Lo strumento di convalida delle estensioni della fotocamera consente ai produttori di dispositivi di verificare che la libreria del fornitore OEM di Estensioni della fotocamera sia implementata correttamente. Lo strumento include test di convalida automatica e manuale.

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

  • Test di convalida manuale:convalida gli effetti e la qualità delle immagini di anteprima e acquisite. Ad esempio, i test consentono ai produttori di dispositivi di confermare manualmente se l'effetto di ritocco viso è 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 Eseguire il check-out del codice del file README di Android Jetpack.

  2. Crea l'APK extensionstestapp. In questo modo è possibile eseguire test di convalida manuale.

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

    L'APK viene visualizzato 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 automatici.

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

    L'APK viene visualizzato 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
  • 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

Esegui tutti i test automatici

Dopo aver installato gli APK, per eseguire tutti i test automatici per convalidare l'implementazione della libreria del fornitore, esegui il seguente 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 di test finale mostra gli errori nel terminale al termine di tutti i test.

automated_validation_result-pass

Figura 1. Risultato OK dei test automatici

automated_validation_result-fail

Figura 2. I test automatici generano errori

Eseguire 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 manuali

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 dell'elenco corrispondente è in grigio.

iniziale_risultato_convalida_camera

Figura 3. Modalità dello strumento di convalida

Tocca una delle fotocamere per vedere le modalità dell'estensione per i test. Le modalità di estensione non supportate dalla videocamera selezionata sono visualizzate in grigio.

iniziale_risultato_convalida_modalità_estensione

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 fotocamera selezionata. Viene mostrata un'attività di acquisizione di immagini contenente l'anteprima.

anteprima-bokeh_abilitato

Figura 5. Anteprima immagine con il bokeh abilitato

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

  • Zoom avanti/indietro
  • Messa a fuoco a tocco
  • Pulsante per cambiare modalità flash
  • EV +/-
  • Pulsante di attivazione/disattivazione dell'estensione

Verifica che lo zoom in/out, il tocco per mettere a fuoco, le modalità flash e le funzioni EV +/- funzionino come previsto nell'anteprima.

Verifica i risultati delle immagini acquisite

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

photo_viewer-bokeh_enabled

Figura 6. Immagine acquisita con il bokeh abilitato

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
  • Riacquisizione
  • Elemento del menu Salva immagine

Verifica che l'immagine acquisita sia corretta e corrisponda alle impostazioni di zoom avanti e indietro, tocco per mettere a fuoco, modalità flash ed EV +/- configurate durante lo scatto dell'immagine.

Se i risultati acquisiti sono corretti, tocca il pulsante PASS (spunta) nell'angolo in basso a destra. In caso contrario, tocca il pulsante NON ANDATO A BUON FINE (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 riuscita, la voce dell'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 fotocamera 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 con il superamento di tutti i risultati.
  • Sfondo rosso: la fotocamera supporta almeno una modalità di estensione. Tutte le modalità di estensione supportate vengono convalidate con almeno un risultato della modalità di estensione errato.
  • Sfondo grigio: questa funzionalità non è disponibile.

risultato_convalida_fotocamera extension_mode_validation_result

Figura 7. Colori che indicano i risultati dei test per le fotocamere 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 del test:esporta i risultati del test come file CSV nella Documents/ExtensionsValidation.
  • Reimposta:vengono cancellati tutti i risultati dei test memorizzati nella cache.
  • App di esempio estensioni:consente di passare alla modalità app di esempio delle estensioni.

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