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 cheImageCaptureExtenderImpl#getCaptureStages()
restituisce le istanzeCaptureStage
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:
Scarica il codice sorgente della libreria Android Jetpack. Per maggiori dettagli, consulta la sezione Verifica del codice del file README di Android Jetpack .
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
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.
Figura 1. Risultato OK dei test automatizzati
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.
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.
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.
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.
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.
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.