Menguji gambar kamera di perangkat foldable

Mulai dari Android 13, Camera ITS menyertakan dukungan pengujian untuk perangkat foldable. Perangkat foldable memiliki kamera yang tersedia atau tidak tersedia, bergantung pada apakah perangkat dalam keadaan terlipat atau tidak terlipat.

ID kamera berubah bergantung pada jenis, model, dan merek perangkat; dan ketersediaan kamera depan fisik berubah bergantung pada status. Oleh karena itu, Camera ITS menentukan kombinasi kamera dan adegan yang akan digunakan secara dinamis untuk pengujian. Karena kamera perlu diuji dalam keadaan dilipat dan dibuka, pengujian perangkat foldable mengharuskan DUT dipasang kembali selama proses pengujian.

Pengujian kamera depan dan belakang

Sensor kamera yang tersedia di perangkat foldable berbeda-beda, bergantung pada apakah perangkat dalam keadaan terlipat atau terbentang. Untuk perangkat foldable, ketersediaan kamera depan berubah bergantung pada statusnya. Misalnya, kamera depan tidak tersedia dalam keadaan terlipat. Karena perubahan ketersediaan kamera depan ini, kamera depan harus diuji dalam keadaan terlipat dan terbentang. ITS Kamera mengasumsikan ketersediaan kamera belakang tetap sama, baik perangkat dilipat maupun tidak, sehingga kamera belakang hanya perlu diuji satu kali.

Bergantung pada status perangkat, ITS Kamera memfilter perangkat kamera yang tidak tersedia dan perangkat kamera tidak muncul dalam daftar kombinasi kamera dan adegan.

Tabel berikut menjelaskan perilaku pengujian ITS Kamera untuk setiap orientasi kamera.

Orientasi kamera Perilaku pengujian ITS kamera
Kamera belakang Menguji kamera satu kali dalam keadaan dilipat atau dibuka
Kamera depan utama Menguji kamera sekali dalam keadaan terlipat dan sekali dalam keadaan terbentang.
Kamera depan fisik Menguji kamera hanya di negara bagian tempat kamera tersedia.

Prosedur pengujian

Bagian ini menjelaskan langkah-langkah untuk menguji kamera pada perangkat foldable.

Siapkan perangkat

Untuk informasi penyiapan, lihat Penyiapan.

Memberikan akses API pengujian

Agar Camera ITS dapat menentukan apakah perangkat dapat dilipat atau tidak, Anda harus memberikan akses API pengujian sebelum memanggil pengujian. Jika akses tidak diberikan, menjalankan tes ITS Kamera akan menyebabkan aplikasi error.

Untuk memberikan akses, jalankan perintah ADB berikut. Perintah ini perlu dijalankan sekali untuk satu perangkat. Jika CTS Verifier diinstal ulang dengan versi yang berbeda, Anda harus menjalankan perintah lagi.

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

File konfigurasi

Untuk menentukan bahwa perangkat adalah perangkat foldable, tambahkan parameter foldable_device di testbed tablet dan sensor_fusion dalam file config.yml. ITS Kamera menggunakan parameter ini untuk menentukan kombinasi camera_id dan adegan untuk keadaan terlipat dan terbentang.

Berikut adalah contoh file config.yml untuk perangkat foldable.

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

Menjalankan pengujian

Untuk menjalankan pengujian ITS di perangkat foldable, jalankan perintah run_all_tests.py. Untuk mengetahui detailnya, lihat Memanggil pengujian.

Saat menjalankan ITS Kamera di perangkat foldable, kamera depan utama diuji dalam kedua keadaan, terlipat dan terbentang. Jika perangkat dilipat, hasil akan ditampilkan di opsi camera1_SCENE_NAME_folded di aplikasi CTS Verifier. Bergantung pada status perangkat, ID kamera fisik depan tertentu tidak tersedia dan tidak diuji. Kamera belakang hanya perlu diuji dalam satu kondisi, sebaiknya kondisi terlipat, dan hasil untuk kamera belakang tidak memiliki akhiran _folded.

Untuk memastikan bahwa adegan terlipat dieksekusi dengan perangkat terlipat dan memeriksa status DUT foldable, jalankan perintah berikut.

adb shell cmd device_state state

Saat menjalankan pengujian dalam keadaan terlipat, Camera ITS menampilkan pesan di terminal untuk meminta pengguna menyiapkan perangkat dengan benar di kotak ITS. Untuk melanjutkan eksekusi pengujian setelah perintah, tekan Enter.

Jika Anda menjalankan semua adegan dalam status dilipat dan tidak dilipat, adegan dilipat akan dieksekusi terlebih dahulu, diikuti dengan adegan tidak dilipat. Hal ini meminimalkan jumlah pemasangan ulang yang diperlukan selama pengujian.

ITS Kamera juga menambahkan akhiran folded ke direktori tmp yang dibuat untuk adegan dalam keadaan terlipat.

Contoh perintah

Berikut adalah contoh perintah untuk eksekusi pengujian di perangkat foldable.

Perintah Deskripsi
python tools/run_all_tests.py Menjalankan semua adegan.
python tools/run_all_tests.py scenes=scene0 Menjalankan scene0. Jika perangkat dilipat dan pengguna sedang menguji kamera depan utama, skrip akan menentukan status perangkat dan menambahkan akhiran _folded ke nama adegan. Pengguna tidak perlu menambahkan sufiks untuk menjalankan adegan yang dilipat.
python tests/scene0/ -c config.yml Menjalankan pengujian tertentu.