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 cheImageCaptureExtenderImpl#getCaptureStages()
restituisca le istanzeCaptureStage
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:
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.
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
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
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APKadb 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.
Figura 1. Risultato OK dei test automatici
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.
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.
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.
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.
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.
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.