Kamera BTS katlanabilir cihaz testi

Kamera ITS'si, Android 13'ten itibaren katlanabilir cihazlar için test desteği de sunuyor. 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, modele ve markaya bağlı olarak değişir. Fiziksel ön kameraların kullanılabilirliği de duruma 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ğindeki bu değişiklik nedeniyle, ön kameraların hem katlanmış hem de açık durumda test edilmesi gerekir. 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ü Kameranın BTS 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 durumlarda 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 erişimi ver

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 yeniden ç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 cihaz olduğunu belirtmek için config.yml dosyasındaki tablet ve sensor_fusion test yataklarına foldable_device parametresini ekleyin. Kamera ITS, katlanmış ve açık 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ğinin altında görüntülenir. Cihaz durumuna bağlı olarak belirli ön kamera kimlikleri kullanılamaz ve test edilmez. Arka kameranın yalnızca tek bir durumda (tercihen katlanmış durumda) test edilmesi gerekir. Arka kamerayla ilgili sonuçlarda _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 kullanıcıdan cihazı ITS kutusuna düzgün şekilde yerleştirmesini isteyen bir mesaj görüntüler. İstemden sonra testi yürütmeye devam etmek için Enter tuşuna basın.

Tüm sahneleri hem katlanmış hem de açık durumda çalıştırıyorsanız önce katlanmış sahneler, ardından açılmış sahneler yürütülür. Bu, test sırasında gereken yeniden takma miktarını en aza indirir.

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

Örnek komutlar

Aşağıda, katlanabilir cihazlarda test işlemi için ö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.