Strumento di convalida delle estensioni della fotocamera

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

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

  • Test di convalida manuali: convalida gli effetti dell'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 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 .

Crea lo strumento di convalida delle estensioni della fotocamera

Per creare lo strumento di convalida delle estensioni, procedi nel seguente modo:

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

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

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

    L'APK viene restituito al 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 restituito al 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 automatizzati

Per eseguire i test di convalida automatizzati, 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

      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 automatizzati

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

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

Se tutti i test vengono superati, viene restituito un risultato OK . Altrimenti, il rapporto di test finale mostrerà i guasti nel terminale una volta completati tutti i test.

passaggio_risultato_validazione_automatica

Figura 1. Risultato OK dei test automatizzati

automatizzato_validation_result-fail

Figura 2. Risultato dei test automatizzati con errori

Esegui test automatizzati di una classe specifica

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

Esegui 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à strumento di convalida toccando la voce di menu in alto a destra.

Dopo essere passati alla modalità strumento di convalida, la prima pagina elenca tutte le fotocamere che contengono la funzionalità REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE . Se una fotocamera non supporta alcuna modalità di estensione, la voce dell'elenco corrispondente è grigia.

camera_validation_result-initial

Figura 3. Modalità dello strumento di convalida

Tocca una delle fotocamere per vedere le modalità di estensione per il test. Le modalità di estensione non supportate dalla telecamera selezionata vengono visualizzate in grigio.

extension_mode_validation_result-initial

Figura 4. Modalità di estensione disponibili per una fotocamera

Verificare i risultati dell'anteprima

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

anteprima-bokeh_abilitato

Figura 5. Immagine di anteprima con bokeh abilitato

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

  • Zoom avanti/indietro
  • Tocca per mettere a fuoco
  • Pulsante di cambio modalità flash
  • EV +/-
  • Pulsante di commutazione abilitato/disabilitato dell'interno

Verificare che le funzioni di zoom avanti/indietro, tocco per mettere a fuoco, modalità flash e EV +/- funzionino come previsto nell'anteprima.

Verificare i risultati dell'immagine acquisita

Per acquisire l'immagine, toccare il pulsante CATTURA (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_abilitato

Figura 6. Immagine catturata con bokeh abilitato

L'attività di validazione delle immagini prevede le seguenti funzionalità:

  • Pizzica dentro/fuori per ridimensionare l'immagine
  • Scorrere verso sinistra/destra per cambiare le immagini catturate
  • Riconquistare
  • Voce di menu Salva immagine

Verificare se l'immagine catturata è corretta e corrisponde alle impostazioni di zoom avanti/indietro, tocco per mettere a fuoco, modalità flash ed EV +/- impostate durante l'acquisizione dell'immagine.

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

Visualizza i risultati dei test

Dopo che una modalità di estensione è stata verificata come positiva o negativa, la voce dell'elenco per la modalità di estensione mostra un colore di sfondo e un indicatore diversi. Nella visualizzazione elenco di tutte le telecamere 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 convalidate completamente.
  • Sfondo verde: la fotocamera supporta almeno una modalità di estensione. Tutte le modalità di estensione supportate vengono convalidate con il passaggio 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 non riuscito.
  • Sfondo grigio: questa funzionalità non è disponibile.

fotocamera_validazione_risultatoextension_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

Una volta completati tutti i test, l'attività dell'elenco delle telecamere fornisce le seguenti funzioni:

  • Esporta risultati del 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 delle estensioni: passa alla modalità dell'app di esempio delle estensioni.

Dopo aver completato il test, puoi esportare i risultati del test. Se trovi un problema ed è necessario verificare nuovamente una nuova versione dell'implementazione della libreria del fornitore con le soluzioni, reimposta i risultati del test precedente ed esegui nuovamente tutte le modalità di estensione supportate su tutte le fotocamere per verificare che i problemi siano stati risolti.