Narzędzie do sprawdzania 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 sprawdzające.
Automatyczne testy sprawdzające: sprawdzają, czy interfejs biblioteki dostawcy jest prawidłowo zaimplementowany. Jeśli np. do przechwytywania obrazu wymagany jest element
CaptureProcessor, testy sprawdzają, czy funkcjaImageCaptureExtenderImpl#getCaptureStages()zwraca wymagane instancjeCaptureStagedo przechwytywania obrazów.Ręczne testy sprawdzające: sprawdzają efekty obrazu oraz jakość podglądu i przechwyconych obrazów. Testy umożliwiają np. producentom urządzeń ręczne sprawdzenie, czy efekt retuszu twarzy jest prawidłowo stosowany lub czy siła efektu bokeh jest wystarczająca.
Kod źródłowy narzędzia do sprawdzania jest częścią aplikacji testowej rozszerzeń w repozytorium Android Jetpack.
Kompilowanie narzędzia do sprawdzania rozszerzeń aparatu
Aby skompilować narzędzie do sprawdzania rozszerzeń, wykonaj te czynności:
Pobierz kod źródłowy biblioteki Android Jetpack. Więcej informacji znajdziesz w sekcji Checking out the Code (Pobieranie kodu) w pliku README Android Jetpack.
Skompiluj plik
extensionstestappAPK. Umożliwi to przeprowadzanie ręcznych testów sprawdzających.cd path/to/checkout/frameworks/support/./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebugPlik APK zostanie zapisany w tej ścieżce:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apkSkompiluj plik
androidTestAPK. Ten plik APK umożliwia przeprowadzanie automatycznych testów sprawdzających.cd path/to/checkout/frameworks/support/./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTestPlik APK zostanie zapisany 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 sprawdzających
Aby przeprowadzić automatyczne testy sprawdzające, zainstaluj pliki APK extensionstestapp i androidTest.
Plik APK
extensionstestappadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apkPlik APK
androidTestadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Przeprowadzanie wszystkich testów automatycznych
Po zainstalowaniu plików APK, aby przeprowadzić wszystkie testy automatyczne w celu sprawdzenia implementacji biblioteki dostawcy, uruchom to polecenie:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunnerJeśli wszystkie testy zakończą się pomyślnie, zostanie zwrócony wynik OK. W przeciwnym razie po zakończeniu wszystkich testów w terminalu zostanie wyświetlony raport końcowy z informacją o niepowodzeniach.
Rysunek 1. Wynik pomyślnego zakończenia testów automatycznych
Rysunek 2. Wynik testów automatycznych z niepowodzeniami
Przeprowadzanie testów automatycznych określonej klasy
Aby przeprowadzić testy automatyczne określonej klasy, podaj nazwę i ścieżkę klasy docelowej. Ten 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.AndroidJUnitRunnerPrzeprowadzanie ręcznych testów sprawdzających
Ręczne testy sprawdzające znajdują się w aplikacji testowej rozszerzeń. Po zainstalowaniu i uruchomieniu aplikacji testowej rozszerzeń przejdź do trybu narzędzia do sprawdzania, klikając element menu w prawym górnym rogu.
Po przejściu do trybu narzędzia do sprawdzania na pierwszej stronie wyświetlą się wszystkie aparaty
które mają
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
funkcję. Jeśli aparat nie obsługuje żadnego trybu rozszerzenia, odpowiadający mu element listy jest szary.
Rysunek 3. Tryb narzędzia do sprawdzania
Kliknij jeden z aparatów, aby wyświetlić tryby rozszerzeń do testowania. Tryby rozszerzeń nieobsługiwane przez wybrany aparat są wyświetlane w kolorze szarym.
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 dla wybranego aparatu. Następnie wyświetli się aktywność przechwytywania obrazu zawierająca podgląd.
Rysunek 5. Obraz z podglądu z włączonym efektem bokeh
Aktywność przechwytywania obrazu obsługuje te funkcje:
- Powiększanie i pomniejszanie
- Ustawianie ostrości przez dotknięcie
- Przycisk przełączania trybów lampy błyskowej
- EV +/-
- Przycisk włączania i wyłączania rozszerzenia
Sprawdź, czy funkcje powiększania i pomniejszania, ustawiania ostrości przez dotknięcie, trybów lampy błyskowej oraz EV +/- działają zgodnie z oczekiwaniami w podglądzie.
Sprawdzanie wyników przechwyconego obrazu
Aby przechwycić obraz, kliknij przycisk CAPTURE (okrągły przycisk) w aktywności przechwytywania obrazu. Spowoduje to uruchomienie aktywności sprawdzania obrazu, która wyświetla przechwycony obraz.
Rysunek 6. Przechwycony obraz z włączonym efektem bokeh
Aktywność sprawdzania obrazu obejmuje te funkcje:
- Powiększanie i pomniejszanie obrazu
- Przesuwanie w lewo i w prawo, aby przełączać przechwycone obrazy
- Przechwytywanie jeszcze raz
- Element menu Zapisz obraz
Sprawdź, czy przechwycony obraz jest prawidłowy i zgodny z ustawieniami powiększenia i pomniejszenia, ustawiania ostrości przez dotknięcie, trybów lampy błyskowej oraz EV +/- ustawionymi podczas przechwytywania obrazu.
Jeśli przechwycone wyniki są prawidłowe, kliknij przycisk PASS (znacznik wyboru) w prawym dolnym rogu. W przeciwnym razie kliknij przycisk FAIL (wykrzyknik) w lewym dolnym rogu.
Wyświetlanie wyników testu
Gdy tryb rozszerzenia zostanie zweryfikowany jako pomyślny lub nieudany, element listy trybu rozszerzenia będzie miał inny kolor tła i wskaźnik. W widoku listy wszystkich aparatów 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 zostały w pełni sprawdzone.
- Zielone tło: aparat obsługuje co najmniej 1 tryb rozszerzenia. Wszystkie obsługiwane tryby rozszerzenia zostały sprawdzone, a wszystkie wyniki są pozytywne.
- Czerwone tło: aparat obsługuje co najmniej 1 tryb rozszerzenia. Wszystkie obsługiwane tryby rozszerzenia zostały sprawdzone, a co najmniej 1 wynik trybu rozszerzenia jest negatywny.
- 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 sprawdzania
Po zakończeniu wszystkich testów aktywność listy aparatów udostępnia te funkcje:
- Eksportowanie wyników testu: eksportuje wyniki testu jako plik CSV do folderu
Documents/ExtensionsValidation. - Resetowanie: czyści wszystkie wyniki testu zapisane w pamięci podręcznej.
- Przykładowa aplikacja rozszerzeń: przełącza na tryb przykładowej aplikacji rozszerzeń.
Po zakończeniu testowania możesz wyeksportować wyniki testu. Jeśli znajdziesz problem i trzeba ponownie sprawdzić nową wersję implementacji biblioteki dostawcy z rozwiązaniami, zresetuj poprzednie wyniki testu i ponownie uruchom wszystkie obsługiwane tryby rozszerzeń na wszystkich aparatach, aby sprawdzić, czy problemy zostały rozwiązane.