Narzędzie do sprawdzania rozszerzeń aparatu umożliwia producentom urządzeń sprawdzenie, czy bibliotek OEM dla rozszerzeń aparatu są prawidłowo zaimplementowane. Narzędzie obejmuje testy weryfikacji automatycznej i ręcznej.
Testy automatycznej walidacji: sprawdzają, czy interfejs biblioteki dostawcy jest prawidłowo zaimplementowany. Jeśli na przykład funkcja
CaptureProcessor
jest wymagana do przechwycenia obrazu, testy sprawdzają, czy funkcjaImageCaptureExtenderImpl#getCaptureStages()
zwraca wymagane instancjeCaptureStage
do przechwycenia obrazów.Testy ręcznej weryfikacji: weryfikuj efekty obrazu i jakość podglądu oraz zarejestrowanych zdjęć. Testy te umożliwiają na przykład producentom urządzeń ręczne sprawdzanie, czy efekt retuszu twarzy jest prawidłowo zastosowany lub czy efekt bokeh jest wystarczająco silny.
Kod źródłowy narzędzia do sprawdzania jest częścią aplikacji testowej rozszerzeń w repozytorium Jetpacka na Androida.
Tworzenie narzędzia do weryfikacji rozszerzeń aparatu
Aby utworzyć narzędzie do sprawdzania rozszerzeń:
Pobierz kod źródłowy biblioteki Jetpack na Androida. Szczegółowe informacje znajdziesz w sekcji Przechwytywanie kodu w pliku README Android Jetpack.
Utwórz pakiet APK:
extensionstestapp
Umożliwia to przeprowadzanie testów weryfikacji ręcznej.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
Plik APK jest zapisywany w następującej lokalizacji:
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 uruchamianie automatycznych testów weryfikacji.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
Plik APK jest zapisywany w następującej lokalizacji:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Uruchamianie automatycznych testów weryfikacji
Aby przeprowadzić 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. W tym celu wykonaj 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 po zakończeniu wszystkich testów raport końcowy wyświetla błędy w terminalu.
Rysunek 1. Automatyczne testy – wynik OK
Rysunek 2. Wynik testów automatycznych z błędami
Wykonywanie testów zautomatyzowanych konkretnej klasy
Aby uruchomić testy automatyczne określonej klasy, podaj jej nazwę i ścieżkę. Przykładowy przykład polecenia do uruchamiania testów 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
Przeprowadzanie testów weryfikacji ręcznej
Testy ręcznej walidacji znajdują się w aplikacji do testowania rozszerzeń. Po zainstalowaniu i uruchomieniu aplikacji do testowania rozszerzeń przełącz się w tryb narzędzia do walidacji, klikając element menu w prawym górnym rogu.
Po przejściu do trybu narzędzia do sprawdzania na pierwszej stronie wyświetlają się wszystkie kamery, które mają funkcję REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Jeśli aparat nie obsługuje żadnego trybu rozszerzenia, odpowiedni element na liście jest wyszarzony.
Rysunek 3. Tryb narzędzia do walidacji
Kliknij jedną z kamer, aby wyświetlić tryby rozszerzenia na potrzeby testów. Tryby rozszerzeń, które nie są obsługiwane przez wybrany aparat, są wyświetlane na szaro.
Rysunek 4. Dostępne tryby rozszerzenia dla aparatu
Sprawdzanie wyników podglądu
Aby sprawdzić wyniki podglądu, uruchom test ręczny, klikając tryb rozszerzenia wybranej kamery. Następnie wyświetla się aktywność rejestrowania obrazu zawierająca podgląd.
Rysunek 5. Podgląd obrazu z włączonym efektem bokeh
Aktywność rejestrowania obrazu obsługuje te funkcje:
- Powiększ/pomniejsz
- Dotknij, aby wyostrzyć
- Przycisk przełączania trybów lampy błyskowej
- EV +/-
- Przycisk przełącznika włączania/wyłączania rozszerzenia
Sprawdź, czy funkcje przybliżania/oddalania, naciskania, aby ustawić ostrość, trybów lampy błyskowej i EV +/- działają zgodnie z oczekiwaniami w podglądzie.
Sprawdzanie wyników przechwyconego obrazu
Aby zrobić zdjęcie, kliknij przycisk ZAPISZ (okrągły przycisk) w aktywności związanej z robieniem zdjęć. Spowoduje to uruchomienie aktywności weryfikacji obrazu, która wyświetla zrobione zdjęcie.
Rysunek 6. Zrobione zdjęcie z włączonym efektem bokeh
Aktywność weryfikacji obrazu obejmuje te funkcje:
- Ściągaj palce, aby powiększyć lub pomniejszyć obraz.
- Przesuń w lewo lub w prawo, aby przełączyć uchwycone obrazy.
- Ponowne przechwycenie
- Zapisz pozycję menu obrazu
Sprawdź, czy zrobione zdjęcie jest prawidłowe i czy odpowiada ustawieniom przybliżania/oddalania, dotykania, aby ustawić ostrość, trybów lampy błyskowej i EV +/-, które zostały ustawione podczas robienia zdjęcia.
Jeśli zarejestrowane wyniki są prawidłowe, w prawym dolnym rogu kliknij przycisk PASS (zaznaczony). W przeciwnym razie kliknij przycisk NIEPRZEDAJE (krzyknik) w lewym dolnym rogu.
Wyświetlanie wyników testu
Gdy tryb rozszerzenia zostanie zweryfikowany jako pozytywny lub negatywny, element listy dla tego trybu 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: kamera obsługuje co najmniej 1 tryb rozszerzenia, a obsługiwane tryby rozszerzenia nie są w pełni zweryfikowane.
- Zielone tło: kamera obsługuje co najmniej 1 tryb rozszerzenia. Wszystkie obsługiwane tryby rozszerzeń są sprawdzane, a wszystkie wyniki są prawidłowe.
- Czerwone tło: aparat obsługuje co najmniej 1 tryb rozszerzenia. Wszystkie obsługiwane tryby rozszerzenia są sprawdzane z co najmniej 1 nieudanym wynikiem.
- Szare tło: ta funkcja jest niedostępna.
Rysunek 7. Kolory wskazujące wyniki testów aparatów i trybów rozszerzenia
Inne funkcje narzędzia do walidacji
Po zakończeniu wszystkich testów aktywność listy kamer zapewnia te funkcje:
- Eksportuj wyniki testu:eksportuje wyniki testu jako plik CSV do folderu
Documents/ExtensionsValidation
. - Resetuj:czyści wszystkie zapisane w pamięci podręcznej wyniki testów.
- Przykładowa aplikacja rozszerzeń: przełącza się do trybu przykładowej aplikacji rozszerzeń.
Po zakończeniu testowania możesz wyeksportować jego wyniki. Jeśli znajdziesz problem i nowa wersja implementacji biblioteki dostawcy z rozwiązaniem musi zostać ponownie zweryfikowana, zresetuj poprzednie wyniki testów i ponownie uruchom wszystkie obsługiwane tryby rozszerzenia na wszystkich kamerach, aby sprawdzić, czy problemy zostały rozwiązane.