Testowanie zdjęć z aparatu na urządzeniach składanych

Od Androida 13 pakiet Camera ITS obejmuje obsługę testowania urządzeń składanych. Urządzenia składane mają aparaty, które są dostępne lub niedostępne w zależności od tego, czy urządzenie jest złożone czy rozłożone.

Identyfikatory kamer zmieniają się w zależności od typu, modelu i marki urządzenia, a dostępność fizycznych przednich kamer zależy od stanu. Dlatego Camera ITS dynamicznie określa kombinacje scen i aparatów, które mają być używane do testowania. Kamery muszą być testowane zarówno w stanie złożonym, jak i rozłożonym, dlatego podczas testowania urządzeń składanych trzeba je ponownie zamontować.

Testowanie przedniego i tylnego aparatu

Czujniki aparatu dostępne na urządzeniu składanym różnią się w zależności od tego, czy urządzenie jest złożone czy rozłożone. W przypadku urządzeń składanych dostępność przedniego aparatu zmienia się w zależności od stanu. Na przykład przedni aparat jest niedostępny w stanie złożonym. Ze względu na tę zmianę w dostępności przedniego aparatu należy go przetestować zarówno w stanie złożonym, jak i rozłożonym. Testy ITS aparatu zakładają, że tylny aparat jest dostępny niezależnie od tego, czy urządzenie jest złożone czy rozłożone, więc tylne aparaty należy testować tylko raz.

W zależności od stanu urządzenia Camera ITS odfiltrowuje niedostępne urządzenia z aparatem, które nie pojawiają się na liście kombinacji aparatów i scen.

W tabeli poniżej opisano działanie testu Camera ITS w przypadku każdego ustawienia aparatu.

Orientacja aparatu Zachowanie testu ITS aparatu
Tylny aparat Testuje aparat raz w stanie złożonym lub rozłożonym.
Główny aparat przedni Testuje aparat raz w stanie złożonym i raz w stanie rozłożonym.
Fizyczny aparat przedni Testuje kamerę tylko w stanach, w których jest ona dostępna.

Procedura testowa

W tej sekcji opisujemy czynności, które należy wykonać, aby przetestować aparaty na urządzeniach składanych.

Skonfiguruj urządzenie

Informacje o konfiguracji znajdziesz w sekcji Konfiguracja.

Przyznawanie dostępu do testowego interfejsu API

Aby pakiet Camera ITS mógł określić, czy urządzenie jest składane, musisz przyznać dostęp do interfejsu API testu przed wywołaniem testów. Jeśli dostęp nie zostanie przyznany, podczas przeprowadzania testów ITS kamery aplikacja ulegnie awarii.

Aby przyznać dostęp, uruchom to polecenie ADB. To polecenie należy uruchomić raz na urządzenie. Jeśli weryfikator CTS zostanie ponownie zainstalowany w innej wersji, musisz ponownie uruchomić to polecenie.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

Plik konfiguracji

Aby określić, że urządzenie jest składane, dodaj parametr foldable_device do obu platform testowych tabletsensor_fusion w pliku config.yml. ITS aparatu używa tego parametru do określania kombinacji camera_id i scen w przypadku stanu złożonego i rozłożonego.

Poniżej znajdziesz przykład pliku config.yml na urządzenie składane.

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

Przeprowadzanie testów

Aby uruchomić testy ITS na urządzeniu składanym, uruchom polecenie run_all_tests.py. Szczegółowe informacje znajdziesz w sekcji Wywoływanie testów.

Podczas testowania Camera ITS na urządzeniu składanym główny przedni aparat jest testowany w obu stanach: złożonym i rozłożonym. Jeśli urządzenie jest złożone, wyniki są wyświetlane w aplikacji CTS Verifier w sekcji camera1_SCENE_NAME_folded. W zależności od stanu urządzenia niektóre identyfikatory fizycznych kamer przednich są niedostępne i nie są testowane. Tylny aparat należy przetestować tylko w jednym stanie, najlepiej w stanie złożonym, a wyniki testu tylnego aparatu nie mają sufiksu _folded.

Aby mieć pewność, że złożone sceny są wykonywane na złożonym urządzeniu i sprawdzić stan składanego urządzenia, uruchom to polecenie.

adb shell cmd device_state state

Podczas przeprowadzania testów w stanie złożonym Camera ITS wyświetla w terminalu komunikat z prośbą o prawidłowe ustawienie urządzenia w pudełku ITS. Aby kontynuować wykonywanie testu po wyświetleniu prompta, naciśnij Enter.

Jeśli uruchamiasz wszystkie scenariusze w trybie złożonym i rozłożonym, najpierw są wykonywane scenariusze w trybie złożonym, a potem w trybie rozłożonym. Minimalizuje to liczbę ponownych montaży wymaganych podczas testowania.

ITS aparatu dodaje też sufiks folded do katalogu tmp utworzonego dla scen w stanie złożonym.

Przykładowe polecenia

Oto przykładowe polecenia do wykonywania testów na urządzeniach składanych.

Polecenie Opis
python tools/run_all_tests.py Uruchamia wszystkie sceny.
python tools/run_all_tests.py scenes=scene0 Uruchamia scenę 0. Jeśli urządzenie jest złożone, a użytkownik testuje główny aparat przedni, skrypt określa stan urządzenia i dodaje do nazwy sceny sufiks _folded. Użytkownicy nie muszą dodawać sufiksu, aby uruchamiać złożone sceny.
python tests/scene0/ -c config.yml Uruchamia określony test.