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.
Zautomatyzowane testy weryfikacji: sprawdź, czy interfejs biblioteki dostawcy został 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 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 Android Jetpack.
Tworzenie narzędzia do weryfikacji rozszerzeń aparatu
Aby utworzyć narzędzie do weryfikacji rozszerzeń, wykonaj te czynności:
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 ręcznych testów weryfikacyjnych.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
Przeprowadzanie automatycznych testów weryfikacyjnych
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, zwrócony zostanie 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. Automatyczne testy z błędami
Wykonywanie testów zautomatyzowanych konkretnej klasy
Aby uruchomić testy automatyczne określonej klasy, podaj jej nazwę i ścieżkę. Poniższy przykład pokazuje polecenie do uruchomienia testów 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 ręcznej weryfikacji
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, odpowiednia pozycja na liście jest wyszarzona.
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, rozpocznij test ręczny, klikając tryb rozszerzenia wybranej kamery. Następnie wyświetla się obraz przedstawiający aktywność z podglądem.
Rysunek 5. Podgląd obrazu z włączonym efektem bokeh
Aktywność rejestrowania obrazu obsługuje te funkcje:
- Powiększ/pomniejsz
- Dotknij, aby ustawić ostrość
- 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.
Sprawdź wyniki dotyczące przechwyconych obrazów
Aby zrobić zdjęcie, kliknij przycisk ZAPISZ (okrągły przycisk) w aktywności związanej z robieniem zdjęć. Spowoduje to uruchomienie procesu weryfikacji obrazu, który zostanie wyświetlony.
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 FAIL (wykrzyknik) 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. W widoku listy wszystkich aparatów elementy są wyświetlane w następujących kolorach:
- Białe tło: aparat obsługuje co najmniej 1 tryb rozszerzenia, a obsługiwane tryby rozszerzeń nie są w pełni zweryfikowane.
- Zielone tło: aparat obsługuje co najmniej jeden tryb rozszerzenia. Wszystkie obsługiwane tryby rozszerzeń są weryfikowane, 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 weryfikacji
Po zakończeniu wszystkich testów aktywność listy kamer wyświetli 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.