Narzędzie do weryfikacji rozszerzeń aparatu umożliwia producentom urządzeń sprawdzenie, czy biblioteka dostawcy OEM rozszerzeń aparatu jest prawidłowo zaimplementowana. Narzędzie obejmuje automatyczne i ręczne testy weryfikacyjne.
Automatyczne testy weryfikacyjne: sprawdzają, czy interfejs biblioteki dostawcy jest prawidłowo zaimplementowany. Jeśli na przykład do zrobienia zdjęcia wymagane jest
CaptureProcessor
, testy sprawdzają, czyImageCaptureExtenderImpl#getCaptureStages()
zwraca wymagane instancjeCaptureStage
do zrobienia zdjęć.Testy weryfikacji ręcznej: sprawdź efekty obrazu i jakość podglądu oraz przechwyconych obrazów. Testy umożliwiają na przykład producentom urządzeń ręczne sprawdzanie, czy efekt retuszu twarzy jest stosowany prawidłowo lub czy siła efektu bokeh jest wystarczająca.
Kod źródłowy narzędzia do weryfikacji jest częścią aplikacji testowej rozszerzeń w repozytorium Androida Jetpack.
Tworzenie narzędzia do weryfikacji rozszerzeń aparatu
Aby utworzyć narzędzie do weryfikacji rozszerzeń:
Pobierz kod źródłowy biblioteki Android Jetpack. Więcej informacji znajdziesz w sekcji Checking out the Code (Sprawdzanie kodu) w pliku README Androida Jetpack.
Utwórz pakiet APK
extensionstestapp
. Umożliwia to przeprowadzanie ręcznych testów weryfikacyjnych.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
Plik APK jest zapisywany w tej ścieżce:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
Utwórz pakiet APK
androidTest
. Ten plik APK umożliwia przeprowadzanie zautomatyzowanych testów weryfikacyjnych.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
Plik APK jest zapisywany w tej ścieżce:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Przeprowadzanie automatycznych testów weryfikacyjnych
Aby uruchomić automatyczne testy weryfikacyjne, zainstaluj pliki 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
Uruchamianie wszystkich testów zautomatyzowanych
Po zainstalowaniu plików APK uruchom wszystkie testy automatyczne, aby sprawdzić implementację biblioteki dostawcy, wykonując to polecenie:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Jeśli wszystkie testy zakończą się powodzeniem, zwracany jest wynik OK. W przeciwnym razie w terminalu po zakończeniu wszystkich testów w raporcie końcowym pojawią się informacje o niepowodzeniach.
Rysunek 1. Wynik OK testów zautomatyzowanych
Rysunek 2. Automatyczne testy zakończyły się niepowodzeniem
Uruchamianie testów zautomatyzowanych określonej klasy
Aby uruchomić testy automatyczne konkretnej klasy, podaj nazwę i ścieżkę klasy docelowej. Poniższy przykład pokazuje polecenie uruchamiające testy klasy ImageCaptureTest
:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Przeprowadzanie ręcznych testów weryfikacyjnych
Testy weryfikacji ręcznej znajdziesz w aplikacji do testowania rozszerzeń. Po zainstalowaniu i uruchomieniu aplikacji do testowania rozszerzeń przełącz się na tryb narzędzia do weryfikacji, klikając element menu w prawym górnym rogu.
Po przełączeniu się na tryb narzędzia do weryfikacji na pierwszej stronie wyświetlą się wszystkie kamery, które mają funkcję REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Jeśli aparat nie obsługuje żadnego trybu rozszerzenia, odpowiednia pozycja na liście jest wyszarzona.
Rysunek 3. Tryb narzędzia do weryfikacji
Kliknij jeden z aparatów, aby wyświetlić tryby rozszerzeń do testowania. Tryby rozszerzenia nieobsługiwane przez wybrany aparat są wyświetlane na szaro.
Rysunek 4. Tryby rozszerzeń dostępne dla aparatu
Sprawdzanie wyników podglądu
Aby sprawdzić wyniki podglądu, rozpocznij test ręczny, klikając tryb rozszerzenia wybranej kamery. Wyświetli się obraz przedstawiający aktywność związaną z robieniem zdjęcia, zawierający podgląd.
Rysunek 5. Podgląd obrazu z włączonym efektem bokeh
Aktywność przechwytywania obrazu obsługuje te funkcje:
- Powiększ/pomniejsz
- Ustawianie ostrości przez dotknięcie
- Przycisk przełączania trybów lampy błyskowej
- EV +/-
- Przycisk włączania i wyłączania rozszerzenia
Sprawdź, czy w podglądzie działają zgodnie z oczekiwaniami funkcje powiększania i pomniejszania, dotykowego ustawiania ostrości, trybów lampy błyskowej i kompensacji ekspozycji.
Sprawdzanie wyników przechwyconego obrazu
Aby zrobić zdjęcie, kliknij przycisk ZROBIĆ ZDJĘCIE (okrągły przycisk) w aktywności robienia zdjęć. Spowoduje to uruchomienie działania sprawdzania obrazu, które wyświetli zrobione zdjęcie.
Rysunek 6. Zrobione zdjęcie z włączonym efektem bokeh
Proces weryfikacji obrazu obejmuje te funkcje:
- Ściągnij lub rozciągnij palce, aby zmienić rozmiar obrazu
- Przesuń w lewo lub w prawo, aby przełączać zarejestrowane obrazy.
- Przechwyć jeszcze raz
- Zapisz obraz
Sprawdź, czy zrobione zdjęcie jest prawidłowe i zgodne z ustawieniami powiększenia, trybu dotknij, aby ustawić ostrość, trybów lampy błyskowej i wartości EV +/-, które zostały ustawione podczas robienia zdjęcia.
Jeśli uzyskane wyniki są prawidłowe, w prawym dolnym rogu naciśnij przycisk PASS (z ptaszkiem). W przeciwnym razie w lewym dolnym rogu kliknij przycisk NIE (wykrzyknik).
Wyświetlanie wyników testu
Gdy tryb rozszerzenia zostanie zweryfikowany jako pozytywny lub negatywny, element listy dla trybu rozszerzenia będzie miał inny kolor tła i wskaźnik. Na liście wszystkich kamer elementy są wyświetlane w tych kolorach:
- Białe tło: aparat obsługuje co najmniej 1 tryb rozszerzenia, a obsługiwane tryby rozszerzenia nie są w pełni zweryfikowane.
- Zielone tło: aparat obsługuje co najmniej 1 tryb rozszerzenia. Wszystkie obsługiwane tryby rozszerzeń są weryfikowane, a wszystkie wyniki są pozytywne.
- Czerwone tło: aparat obsługuje co najmniej 1 tryb rozszerzenia. Wszystkie obsługiwane tryby rozszerzeń są weryfikowane, a co najmniej 1 wynik trybu rozszerzenia jest nieprawidłowy.
- Szare tło: ta funkcja jest niedostępna.
Rysunek 7. Kolory wskazujące wyniki testów aparatów i trybów rozszerzeń
Inne funkcje narzędzia do walidacji
Po zakończeniu wszystkich testów na liście kamer dostępne są te funkcje:
- Eksportuj wyniki testu: eksportuje wyniki testu jako plik CSV do folderu
Documents/ExtensionsValidation
. - Resetuj:usuwa wszystkie wyniki testów zapisane w pamięci podręcznej.
- Przykładowa aplikacja rozszerzeń: przełącza się na tryb przykładowej aplikacji rozszerzeń.
Po zakończeniu testowania możesz wyeksportować wyniki testu. Jeśli znajdziesz problem i nowa wersja implementacji biblioteki dostawcy z rozwiązaniami wymaga ponownej weryfikacji, zresetuj poprzednie wyniki testów i ponownie uruchom wszystkie obsługiwane tryby rozszerzeń na wszystkich aparatach, aby sprawdzić, czy problemy zostały rozwiązane.