Narzędzie do weryfikacji rozszerzeń aparatu

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ą, czy ImageCaptureExtenderImpl#getCaptureStages() zwraca wymagane instancje CaptureStage 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ńrepozytorium Androida Jetpack.

Tworzenie narzędzia do weryfikacji rozszerzeń aparatu

Aby utworzyć narzędzie do weryfikacji rozszerzeń:

  1. 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.

  2. 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
    
  3. 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 APK

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
  • androidTest APK

      adb 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.

automated_validation_result-pass

Rysunek 1. Wynik OK testów zautomatyzowanych

automated_validation_result-fail

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.

camera_validation_result-initial

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.

extension_mode_validation_result-initial

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.

preview-bokeh_enabled

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.

photo_viewer-bokeh_enabled

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.

camera_validation_result extension_mode_validation_result

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.