Narzędzie do weryfikacji rozszerzeń aparatu

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 funkcja ImageCaptureExtenderImpl#getCaptureStages() zwraca wymagane instancje CaptureStage do 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:

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

  2. Skompiluj plik extensionstestapp APK. Umożliwi to przeprowadzanie ręcznych testów sprawdzających.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug

    Plik 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.apk
    
  3. Skompiluj plik androidTest APK. Ten plik APK umożliwia przeprowadzanie automatycznych testów sprawdzających.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest

    Plik 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 extensionstestapp

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

      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

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

Jeś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.

automated_validation_result-pass

Rysunek 1. Wynik pomyślnego zakończenia testów automatycznych

automated_validation_result-fail

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

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

camera_validation_result-initial

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.

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 dla wybranego aparatu. Następnie wyświetli się aktywność przechwytywania obrazu zawierająca podgląd.

preview-bokeh_enabled

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.

photo_viewer-bokeh_enabled

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.

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