Narzędzie do weryfikacji rozszerzeń aparatu

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 funkcja ImageCaptureExtenderImpl#getCaptureStages() zwraca wymagane instancje CaptureStage 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ńrepozytorium Android Jetpack.

Tworzenie narzędzia do weryfikacji rozszerzeń aparatu

Aby utworzyć narzędzie do weryfikacji rozszerzeń, wykonaj te czynności:

  1. Pobierz kod źródłowy biblioteki Jetpack na Androida. Szczegółowe informacje znajdziesz w sekcji Przechwytywanie kodupliku README Android 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 następującej lokalizacji:

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

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

automatyzacja_validation_result-pass

Rysunek 1. Automatyczne testy – wynik OK

automated_validation_result-fail

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.

camera_validation_result-initial

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.

extension_mode_validation_result-initial

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.

preview-bokeh_enabled

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.

photo_viewer-bokeh_enabled

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.

camera_validation_result extension_mode_validation_result

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.