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/ |
Belirli bir testi çalıştırır. |