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 automatica: verifica che l'interfaccia della libreria del fornitore sia implementata correttamente. Ad esempio, se CaptureProcessor è obbligatorio per l'acquisizione di immagini, i test convalidano che ImageCaptureExtenderImpl#getCaptureStages() restituisca le istanze CaptureStage richieste per l'acquisizione delle 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 verificare manualmente se l'effetto di ritocco del viso 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 Eseguire il check-out del codice del file README di Android Jetpack.

  2. Compila 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. Compila 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.

  • 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
    

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

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, l'elemento corrispondente nell'elenco è grigio.

camera_validation_result-initial

Figura 3. Modalità dello strumento di convalida

Tocca una delle videocamere per visualizzare le modalità di estensione per il 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 mostrata un'attività di acquisizione di immagini contenente l'anteprima.

preview-bokeh_enabled

Figura 5. Anteprima immagine con il bokeh abilitato

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

  • Zoom avanti/indietro
  • Tocca per mettere a fuoco
  • Pulsante di attivazione/disattivazione delle 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 in/out, tocco per mettere a fuoco, modalità flash e EV +/- impostate al momento dell'acquisizione.

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 è stata verificata la modalità di estensione come superata o non superata, l'elemento 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.

camera_validation_result 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 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 devi verificare di nuovo una nuova versione dell'implementazione della libreria del fornitore con le soluzioni, reimposta i risultati del test precedente ed esegui di nuovo tutte le modalità di estensione supportate su tutte le videocamere per verificare che i problemi siano stati risolti.