Narzędzie do sprawdzania poprawności rozszerzeń aparatu umożliwia producentom urządzeń sprawdzenie, czy biblioteka dostawcy OEM rozszerzeń aparatu jest poprawnie zaimplementowana. Narzędzie zawiera automatyczne i ręczne testy walidacyjne.
Zautomatyzowane testy walidacyjne: sprawdzają, czy interfejs biblioteki dostawcy jest poprawnie zaimplementowany. Na przykład, jeśli do przechwytywania obrazu wymagany jest
CaptureProcessor
, testy sprawdzają, czyImageCaptureExtenderImpl#getCaptureStages()
zwraca wymagane instancjeCaptureStage
do przechwytywania obrazów.Ręczne testy sprawdzające: Sprawdź efekty obrazu oraz jakość podglądu i przechwyconych obrazów. Testy pozwalają na przykład producentom urządzeń ręcznie sprawdzić, czy efekt retuszu twarzy został zastosowany prawidłowo lub czy siła bokeh jest wystarczająca.
Kod źródłowy narzędzia sprawdzającego jest częścią aplikacji testowej rozszerzeń w repozytorium Android Jetpack .
Zbuduj narzędzie do sprawdzania poprawności rozszerzeń aparatu
Aby zbudować narzędzie do sprawdzania poprawności rozszerzeń, wykonaj następujące kroki:
Pobierz kod źródłowy biblioteki Android Jetpack. Aby uzyskać szczegółowe informacje, zobacz sekcję Sprawdzanie kodu w pliku README Android Jetpack .
Zbuduj plik APK
extensionstestapp
. Pozwala to na uruchomienie ręcznych testów walidacyjnych.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
Plik APK jest wyprowadzany do następującej ścieżki:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
Zbuduj plik APK
androidTest
. Ten plik APK umożliwia uruchamianie automatycznych testów sprawdzających.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
Plik APK jest wyprowadzany do następującej ścieżki:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Uruchom automatyczne testy sprawdzające
Aby uruchomić automatyczne testy sprawdzające, zainstaluj pakiety APK extensionstestapp
i 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
Uruchom wszystkie testy automatyczne
Po zainstalowaniu plików APK, aby uruchomić wszystkie automatyczne testy w celu sprawdzenia implementacji biblioteki dostawcy, uruchom następujące polecenie:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Jeśli wszystkie testy zakończą się pomyślnie, zwracany jest wynik OK . W przeciwnym razie końcowy raport z testów wykaże awarie terminala po zakończeniu wszystkich testów.
Rysunek 1. Wynik testów automatycznych OK
Rysunek 2. Wyniki testów automatycznych z awariami
Uruchom automatyczne testy określonej klasy
Aby uruchomić automatyczne testy określonej klasy, określ nazwę i ścieżkę klasy docelowej. Poniższy przykład ilustruje polecenie uruchamiające testy dla klasy ImageCaptureTest
:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Uruchom ręczne testy sprawdzające
Ręczne testy sprawdzające można znaleźć w aplikacji testowej rozszerzeń . Po zainstalowaniu i uruchomieniu aplikacji testowej rozszerzeń przejdź do trybu narzędzia sprawdzającego, dotykając elementu menu w prawym górnym rogu.
Po przełączeniu do trybu narzędzia sprawdzającego, na pierwszej stronie znajdują się wszystkie kamery posiadające funkcję REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Jeśli kamera nie obsługuje żadnego trybu rozszerzenia, odpowiadająca jej pozycja na liście jest szara.
Rysunek 3. Tryb narzędzia walidacyjnego
Stuknij jedną z kamer, aby zobaczyć tryby rozszerzeń do przetestowania. Tryby rozszerzeń nieobsługiwane przez wybraną kamerę są wyświetlane w kolorze szarym.
Rysunek 4. Tryby rozszerzeń dostępne dla kamery
Sprawdź wyniki podglądu
Aby zweryfikować wyniki podglądu, rozpocznij test ręczny, dotykając trybu rozszerzenia dla wybranej kamery. Następnie wyświetlana jest czynność przechwytywania obrazu zawierająca podgląd.
Rysunek 5. Podgląd obrazu z włączonym efektem bokeh
Działanie przechwytywania obrazu obsługuje następujące funkcje:
- Powiększ/oddal
- Dotknij, aby ustawić ostrość
- Przycisk przełączania trybów lampy błyskowej
- EV +/-
- Przycisk włączania/wyłączania rozszerzenia
Sprawdź, czy funkcje przybliżania/oddalania, ustawiania ostrości przez dotknięcie, tryby lampy błyskowej i funkcje EV +/- działają zgodnie z oczekiwaniami na podglądzie.
Sprawdź wyniki przechwyconego obrazu
Aby przechwycić obraz, dotknij przycisku PRZECHWYĆ (okrągły przycisk) w działaniu przechwytywania obrazu. Spowoduje to uruchomienie działania sprawdzającego obraz, które pokaże przechwycony obraz.
Rysunek 6. Zrobione zdjęcie z włączonym efektem bokeh
Działanie walidacji obrazu obejmuje następujące funkcje:
- Rozsuń/zsuń, aby przeskalować obraz
- Przesuń w lewo/w prawo, aby przełączyć przechwycone obrazy
- Odzyskanie
- Zapisz element menu obrazu
Sprawdź, czy przechwycony obraz jest prawidłowy i odpowiada ustawieniom przybliżania/oddalania, ustawiania ostrości przez dotknięcie, trybom lampy błyskowej i ustawieniom EV +/- ustawionym podczas przechwytywania obrazu.
Jeśli zarejestrowane wyniki są prawidłowe, naciśnij przycisk PASS (znacznik) w prawym dolnym rogu. W przeciwnym razie naciśnij przycisk FAIL (wykrzyknik) w lewym dolnym rogu.
Zobacz wyniki testu
Po sprawdzeniu, czy tryb rozszerzenia został pomyślnie zrealizowany, czy nie, element listy trybu rozszerzenia wyświetla inny kolor tła i inny wskaźnik. Na liście wszystkich kamer elementy są wyświetlane w następujących kolorach:
- Białe tło: kamera obsługuje co najmniej jeden tryb rozszerzeń, a obsługiwane tryby rozszerzeń nie zostały w pełni sprawdzone.
- Zielone tło: Kamera obsługuje co najmniej jeden tryb rozszerzenia. Wszystkie obsługiwane tryby rozszerzeń są sprawdzane i wszystkie wyniki są sprawdzane.
- Czerwone tło: Kamera obsługuje co najmniej jeden tryb rozszerzenia. Wszystkie obsługiwane tryby rozszerzeń są sprawdzane i co najmniej jeden wynik trybu rozszerzeń kończy się niepowodzeniem.
- Szare tło: ta funkcja jest niedostępna.
Rysunek 7. Kolory wskazujące wyniki testów kamer i trybów rozszerzeń
Inne funkcje narzędzia do sprawdzania poprawności
Po zakończeniu wszystkich testów działanie listy kamer udostępnia następujące funkcje:
- Eksportuj wyniki testu: Eksportuje wyniki testu jako plik CSV do folderu
Documents/ExtensionsValidation
. - Resetuj: Czyści wszystkie wyniki testów zapisane w pamięci podręcznej.
- Przykładowa aplikacja rozszerzeń: przełącza do trybu przykładowej aplikacji rozszerzeń.
Po zakończeniu testów możesz wyeksportować wyniki testów. Jeśli znajdziesz problem i konieczne będzie ponowne zweryfikowanie nowej wersji biblioteki dostawcy z rozwiązaniami, zresetuj wyniki poprzednich testów i ponownie uruchom wszystkie obsługiwane tryby rozszerzeń na wszystkich kamerach, aby sprawdzić, czy problemy zostały rozwiązane.