Kamera BTS katlanabilir cihaz testi

Android 13'ten itibaren Kamera ITS, katlanabilir cihazlar için test desteği içerir. Katlanabilir cihazlarda, cihazın katlanmış veya açık konumuna bağlı olarak kullanılabilen veya kullanılamayan kameralar bulunur.

Kamera kimlikleri cihaz türüne, modeline ve markasına göre değişir. Fiziksel ön kameraların kullanılabilirliği ise eyalete göre değişir. Bu nedenle, kamera ITS, test için kullanılacak sahne ve kamera kombinasyonlarını dinamik olarak belirler. Kameraların hem katlanmış hem de katlanmamış durumda test edilmesi gerektiğinden, katlanabilir cihazların test edilmesi için DUT'nin test işlemi sırasında yeniden takılması gerekir.

Ön ve arka kamera testi

Katlanabilir cihazlarda bulunan kamera sensörleri, cihazın katlanmış veya açık durumda olmasına göre farklılık gösterir. Katlanabilir cihazlarda ön kameranın kullanılabilirliği duruma bağlı olarak değişir. Örneğin, ön kamera katlanmış durumdayken kullanılamaz. Ön kamera kullanılabilirliğinde yapılan bu değişiklik nedeniyle ön kameralar hem katlanmış hem de katlanmış olmayan durumlarda test edilmelidir. Kamera ITS, cihaz katlanmış veya katlanmamış olsa bile arka kameranın kullanılabilirliğinin aynı kaldığını varsayar. Bu nedenle, arka kameraların yalnızca bir kez test edilmesi gerekir.

Kamera ITS, cihazın durumuna bağlı olarak kullanılamayan kamera cihazlarını filtreler ve kamera cihazları, kamera ve sahne kombinasyonları listesinde görünmez.

Aşağıdaki tabloda, her kamera yönü için kamera ITS testi davranışı açıklanmaktadır.

Kamera yönü Kamera ITS test davranışı
Arka kamera Kamerayı katlanmış veya katlanmamış durumdayken bir kez test eder
Birincil ön kamera Kamerayı katlanmış durumdayken bir kez, katlanmış durumdayken bir kez test eder.
Fiziksel ön kamera Kamerayı yalnızca kameranın kullanılabildiği eyaletlerde test eder.

Test prosedürü

Bu bölümde, katlanabilir cihazlardaki kameraları test etme adımları açıklanmaktadır.

Cihazı kur

Kurulum bilgileri için Kurulum bölümüne bakın.

Test API'sine erişim izni verme

Kamera ITS'nin cihazın katlanabilir olup olmadığını belirlemesi için testleri çağırmadan önce test API'sine erişim izni vermeniz gerekir. Erişim izni verilmezse kamera ITS testlerinin çalıştırılması uygulamanın kilitlenmesine neden olur.

Erişim izni vermek için aşağıdaki ADB komutunu çalıştırın. Bu komutun tek bir cihaz için bir kez çalıştırılması gerekir. CTS Doğrulayıcı farklı bir sürümle yeniden yüklenirse komutu tekrar çalıştırmanız gerekir.

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

Yapılandırma dosyası

Cihazın katlanabilir bir cihaz olduğunu belirtmek için config.yml dosyasında hem tablet hem de sensor_fusion test ortamlarına foldable_device parametresini ekleyin. Kamera ITS, katlanmış ve katlanmamış durumlar için camera_id ve sahne kombinasyonlarını belirlemek üzere bu parametreyi kullanır.

Aşağıda, katlanabilir cihaz için config.yml dosyası örneği verilmiştir.

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

Test çalıştırma

ITS testlerini katlanabilir bir cihazda çalıştırmak için run_all_tests.py komutunu çalıştırın. Ayrıntılar için Testleri çağırma başlıklı makaleyi inceleyin.

Kamera ITS'i katlanabilir bir cihazda çalıştırırken birincil ön kamera hem katlanmış hem de katlanmış olmayan iki durumda test edilir. Cihaz katlanmışsa sonuçlar, CTS Doğrulayıcı uygulamasındaki camera1_SCENE_NAME_folded seçeneği altında gösterilir. Cihaz durumuna bağlı olarak belirli ön fiziksel kamera kimlikleri kullanılamaz ve test edilmez. Arka kameranın yalnızca bir durumda (tercihen katlanmış durumda) test edilmesi gerekir ve arka kamera sonuçlarında _folded son eki bulunmaz.

Katlanmış sahnelerin cihaz katlanmışken yürütüldüğünden emin olmak ve katlanabilir DUT'un durumunu kontrol etmek için aşağıdaki komutu çalıştırın.

adb shell cmd device_state state

Kamera ITS, katlanmış durumdayken testler yürütüldüğünde terminalde bir mesaj görüntüleyerek kullanıcıdan cihazı ITS kutusuna düzgün şekilde yerleştirmesini ister. İstemden sonra testi yürütmeye devam etmek için Enter tuşuna basın.

Tüm sahneleri hem katlanmış hem de açılmış durumda çalıştırıyorsanız önce katlanmış sahneler, ardından açılmış sahneler yürütülür. Bu sayede test sırasında yeniden bağlama işleminin sayısı en aza indirilir.

Kamera ITS, katlanmış durum sahneleri için oluşturulan tmp dizinine folded son ekini de ekler.

Örnek komutlar

Aşağıda, katlanabilir cihazlarda test çalıştırmayla ilgili örnek komutlar verilmiştir.

Komut Açıklama
python tools/run_all_tests.py Tüm sahneleri çalıştırır.
python tools/run_all_tests.py scenes=scene0 scene0 çalıştırılır. Cihaz katlanmışsa ve kullanıcı birincil ön kamerayı test ediyorsa komut dosyası cihaz durumunu belirler ve sahne adına _folded son ekini ekler. Kullanıcıların katlanmış sahneleri çalıştırmak için son eki eklemesi gerekmez.
python tests/scene0/ -c config.yml Belirli bir testi çalıştırır.