Mit dem Validierungstool für Kameraerweiterungen können Gerätehersteller prüfen, ob die OEM-Bibliothek der Kameraerweiterungen korrekt implementiert ist. Das Tool umfasst automatisierte und manuelle Validierungstests.
Automatisierte Validierungstests: Prüfen, ob die Schnittstelle der Anbieterbibliothek korrekt implementiert ist. Wenn beispielsweise
CaptureProcessor
für die Bilderfassung erforderlich ist, prüfen die Tests, obImageCaptureExtenderImpl#getCaptureStages()
die erforderlichenCaptureStage
-Instanzen zum Erfassen der Bilder zurückgibt.Manuelle Validierungstests:Hier können Sie die Bildeffekte und die Qualität der Vorschau- und aufgenommenen Bilder prüfen. So können Gerätehersteller beispielsweise manuell prüfen, ob der Effekt für die Gesichtsretusche richtig angewendet wird oder ob die Bokeh-Stärke ausreicht.
Der Quellcode des Validierungstools ist Teil der Testanwendung für Erweiterungen im Android Jetpack-Repository.
Validierungstool für Kameraerweiterungen erstellen
So erstellen Sie das Tool zur Erweiterungsvalidierung:
Laden Sie den Quellcode der Android Jetpack-Bibliothek herunter. Weitere Informationen finden Sie im Abschnitt Code auschecken der Android Jetpack-README.
Erstellen Sie das
extensionstestapp
-APK. So können manuelle Validierungstests ausgeführt werden.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
Das APK wird an den folgenden Pfad ausgegeben:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
Erstellen Sie das
androidTest
-APK. Mit diesem APK können automatisierte Validierungstests ausgeführt werden.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
Das APK wird im folgenden Pfad ausgegeben:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Automatisierte Validierungstests ausführen
Installieren Sie die APKs extensionstestapp
und androidTest
, um die automatisierten Validierungstests auszuführen.
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
Alle automatisierten Tests ausführen
Führen Sie nach der Installation der APKs den folgenden Befehl aus, um alle automatisierten Tests zur Validierung der Implementierung der Anbieterbibliothek auszuführen:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Wenn alle Tests bestanden werden, wird das Ergebnis OK zurückgegeben. Andernfalls werden im Terminal nach Abschluss aller Tests Fehler im abschließenden Testbericht angezeigt.
Abbildung 1. Automatisierte Tests OK-Ergebnis
Abbildung 2. Automatisierte Tests schlagen fehl
Automatisierte Tests für eine bestimmte Klasse ausführen
Wenn Sie automatisierte Tests einer bestimmten Klasse ausführen möchten, geben Sie den Namen und den Pfad der Zielklasse an. Das folgende Beispiel zeigt den Befehl zum Ausführen von Tests für die Klasse ImageCaptureTest
:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Manuelle Validierungstests ausführen
Die manuellen Validierungstests finden Sie in der Test-App für Erweiterungen. Wechseln Sie nach dem Installieren und Starten der Test-App für Erweiterungen in den Modus des Validierungstools, indem Sie auf den Menüpunkt oben rechts tippen.
Nach dem Wechsel in den Modus des Validierungstools werden auf der ersten Seite alle Kameras aufgeführt, die die REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
-Funktion enthalten. Wenn eine Kamera keinen Erweiterungsmodus unterstützt, ist das entsprechende Listenelement ausgegraut.
Abbildung 3 Modus des Validierungstools
Tippen Sie auf eine der Kameras, um die Erweiterungsmodi für den Test zu sehen. Erweiterungsmodi, die von der ausgewählten Kamera nicht unterstützt werden, sind ausgegraut.
Abbildung 4: Für eine Kamera verfügbare Erweiterungsmodi
Vorschauergebnisse prüfen
Wenn Sie die Vorschauergebnisse überprüfen möchten, starten Sie einen manuellen Test, indem Sie auf einen Erweiterungsmodus für die ausgewählte Kamera tippen. Daraufhin wird eine Aktivität zur Bildaufnahme mit der Vorschau angezeigt.
Abbildung 5. Vorschaubild mit aktiviertem Bokeh
Die Aktivität „Bilder aufnehmen“ unterstützt die folgenden Funktionen:
- Heran-/Herauszoomen
- Zum Fokussieren tippen
- Schaltfläche zum Wechseln des Blitzmodus
- LW +/-
- Ein-/Aus-Schalter für die Erweiterung
Prüfen Sie, ob das Heranzoomen und Herauszoomen, das Fokussieren durch Tippen, die Blitzmodi und die Funktionen für die Belichtungskorrektur +/- in der Vorschau wie erwartet funktionieren.
Erfasste Bildergebnisse überprüfen
Tippen Sie dazu bei der Bildaufnahme auf die runde Schaltfläche AUFNAHME. Dadurch wird eine Bildvalidierungsaktivität gestartet, in der das aufgenommene Bild angezeigt wird.
Abbildung 6 Aufgenommenes Bild mit aktiviertem Bokeh
Die Aktivität zur Bildvalidierung umfasst die folgenden Funktionen:
- Bild zusammen-/auseinanderziehen, um es zu skalieren
- Wischen Sie nach links oder rechts, um zwischen den aufgenommenen Bildern zu wechseln.
- Recapture
- Menüpunkt „Bild speichern“
Prüfen Sie, ob das aufgenommene Bild korrekt ist und den Einstellungen für Heran- und Herauszoomen, Tippen für Fokussieren, Blitzmodi und Lichtwert +/− entspricht, die bei der Aufnahme des Bildes festgelegt wurden.
Wenn die erfassten Ergebnisse korrekt sind, tippen Sie rechts unten auf die Schaltfläche PASS (Häkchen). Andernfalls tippen Sie links unten auf die Schaltfläche FEHLER (Ausrufezeichen).
Testergebnisse abrufen
Nachdem ein Erweiterungsmodus als bestanden oder nicht bestanden bestätigt wurde, werden für das Listenelement des Erweiterungsmodus eine andere Hintergrundfarbe und ein anderer Indikator angezeigt. In der Listenansicht aller Kameras werden die Elemente in den folgenden Farben angezeigt:
- Weißer Hintergrund:Die Kamera unterstützt mindestens einen Erweiterungsmodus und die unterstützten Erweiterungsmodi wurden nicht vollständig validiert.
- Grüner Hintergrund:Die Kamera unterstützt mindestens einen Erweiterungsmodus. Alle unterstützten Erweiterungsmodi werden validiert und alle Ergebnisse sind erfolgreich.
- Roter Hintergrund:Die Kamera unterstützt mindestens einen Erweiterungsmodus. Alle unterstützten Erweiterungsmodi werden validiert, wobei mindestens ein Erweiterungsmodus fehlschlägt.
- Grauer Hintergrund:Diese Funktion ist nicht verfügbar.
Abbildung 7. Farben für Testergebnisse für Kameras und Erweiterungsmodi
Weitere Funktionen des Validierungstools
Nach Abschluss aller Tests bietet die Kameralistenaktivität die folgenden Funktionen:
- Testergebnisse exportieren:Die Testergebnisse werden als CSV-Datei in den Ordner
Documents/ExtensionsValidation
exportiert. - Zurücksetzen:Alle im Cache gespeicherten Testergebnisse werden gelöscht.
- Beispielanwendung für Erweiterungen:Hiermit wird der Modus der Beispielanwendung für Erweiterungen aktiviert.
Nach Abschluss des Tests können Sie die Testergebnisse exportieren. Wenn Sie ein Problem finden und eine neue Version der Anbieterbibliothek mit den Lösungen noch einmal überprüft werden muss, setzen Sie die vorherigen Testergebnisse zurück und führen Sie alle unterstützten Erweiterungsmodi auf allen Kameras noch einmal aus, um zu prüfen, ob die Probleme behoben wurden.