Menjalankan pengujian sisi host CTS Verifier

Halaman ini berisi petunjuk untuk menyiapkan dan menjalankan pengujian CTS Verifier (CTS-V) sisi host Android 16 QPR2 dan Android 17. Ada dua jenis pengujian sisi host: pengujian multiperangkat (diperkenalkan sebelum Android 17) dan pengujian interaktif (baru di Android 17):

  • Pengujian multibisnis adalah pengujian yang sepenuhnya otomatis.
  • Pengujian interaktif adalah pengujian semi-otomatis, yang mengharuskan Anda melakukan beberapa langkah manual pada perangkat yang diuji (DUT).

Selain pengujian interaktif baru, pengujian akurasi rentang manual dan telekomunikasi kini menjadi pengujian multiperangkat sisi host, dan pengujian koneksi Wi-Fi diperlukan.

Menyiapkan pengujian sisi host

Ikuti langkah-langkah berikut untuk menyiapkan pengujian sisi host (pengujian multiperangkat memerlukan penyiapan tambahan):

  1. Pastikan komputer desktop Anda memenuhi persyaratan sistem operasi untuk CTS.

  2. Ikuti langkah 2 dan 5 di Menginstal software desktop untuk menginstal dan memverifikasi bahwa adb, AAPT2, dan Python telah diinstal dengan benar di desktop Anda.

    • Versi Python desktop harus 3.11 atau yang lebih tinggi. Untuk menentukan versi Python, jalankan python3 --version. Jika versinya lebih rendah dari 3.11, instal rilis Python resmi terbaru. Untuk mengetahui detailnya, lihat bagian Download di python.org.

    • Beberapa pengujian mengharuskan host memiliki modul venv Python. Pada sistem Debian dan Ubuntu, modul ini mungkin tidak diinstal secara default. Untuk menentukan apakah versi Python desktop memiliki modul venv, jalankan python3 -m venv venv. Jika perintah ini gagal, pesan error akan ditampilkan. Ikuti petunjuk untuk menginstal paket python3.x-venv.

Jika Anda hanya menjalankan pengujian interaktif sisi host, lanjutkan ke Menjalankan pengujian sisi host. Namun, jika Anda ingin menjalankan pengujian multiperangkat, lanjutkan ke Menyiapkan pengujian multiperangkat sisi host.

Menyiapkan pengujian multidevice sisi host

Ikuti langkah-langkah berikut untuk menyiapkan pengujian multidevice sisi host:

  1. Pastikan komputer desktop Anda memenuhi persyaratan sistem operasi untuk CTS.

  2. Ikuti langkah 2 dan 5 di Menginstal software desktop untuk menginstal dan memverifikasi bahwa adb, AAPT2, dan Python telah diinstal dengan benar di desktop Anda.

    • Versi Python desktop harus 3.11 atau yang lebih tinggi. Untuk menentukan versi Python, jalankan python3 --version. Jika versinya lebih rendah dari 3.11, instal rilis Python resmi terbaru. Untuk mengetahui detailnya, lihat bagian Download di python.org.

      • Beberapa pengujian mengharuskan host memiliki modul venv Python. Pada sistem Debian dan Ubuntu, modul ini mungkin tidak diinstal secara default. Untuk menentukan apakah versi Python desktop memiliki modul venv, jalankan python3 -m venv venv. Jika perintah ini gagal, pesan error akan ditampilkan. Ikuti petunjuk untuk menginstal paket python3.x-venv.
  3. Siapkan dua DUT yang cocok, masing-masing dengan CTS-V yang telah disiapkan.

    • Untuk mengetahui detail tentang cara menyiapkan DUT, lihat Menyiapkan DUT.
    • Untuk mengetahui detail tentang cara menyiapkan CTS-V, lihat Penyiapan.
  4. Buka bagian penyiapan untuk jenis pengujian Anda:

Jika pengujian Anda tidak ada dalam daftar ini, lanjutkan ke Menyiapkan pengujian standar dua perangkat.

Menyiapkan pengujian NFC

Pengujian NFC menggunakan satu DUT dan satu chip NFC PN532.

Untuk menyiapkan pengujian NFC:

  1. Beli chip NFC PN532. Sebaiknya gunakan All-In-One PN532.
  2. Di DUT, buka aplikasi Setelan.
  3. Aktifkan NFC.
  4. Posisikan chip NFC:

    • Untuk ponsel, posisikan pembaca NFC DUT seperti yang ditunjukkan pada Gambar 1:

      Penempatan chip NFC

      Gambar 1. Penempatan chip NFC.

    • Untuk jenis perangkat lain, posisikan chip di samping antena NFC perangkat.

  5. Pasang chip NFC PN532 ke workstation pengujian menggunakan kabel USB.

Menyiapkan pengujian koneksi AP Wi-Fi

Pengujian koneksi titik akses Wi-Fi (AP) (CtsWifiConnectionTests) menguji konektivitas antara DUT dan AP. Anda dapat menyiapkan pengujian ini dengan dua cara berikut:

  • Opsi 1: Gunakan jaringan Wi-Fi yang sudah ada yang Anda siapkan untuk CTS-V.
  • Opsi 2: Siapkan titik akses (AP) yang dapat diprogram.

Untuk Android 17, kami sangat merekomendasikan opsi 2, tetapi tidak wajib. Dua bagian berikut menjelaskan setiap opsi.

Opsi 1: Gunakan jaringan Wi-Fi yang sudah Anda siapkan untuk CTS-V

Opsi 1 memerlukan satu DUT Android dalam area cakupan jaringan Wi-Fi. Jika DUT berada dalam kotak pelindung dan tidak dapat terhubung ke jaringan Wi-Fi, keluarkan dari kotak pelindung.

Opsi 2: Menyiapkan AP yang dapat diprogram

Untuk menyiapkan AP yang dapat diprogram untuk pengujian koneksi Wi-Fi:

  1. Beli Banana Pi R3 AP dan siapkan. Untuk mengetahui informasi tentang cara membeli dan menyiapkan AP Banana Pi R3, lihat Menyiapkan AP Banana Pi BPI-R3.

  2. (Opsional) Jika Anda tidak memiliki kotak pelindung, sebaiknya gunakan kotak pelindung JTP-SR101. Beli kotak ini menggunakan informasi berikut:

    Dong Guan Zheng Sheng Electronics Technology Co., LTD

    Bohui Industrial Park, Panlong Road, Liaobu Town, Dongguan City, Guangdong Province, China

    Kontak: Forest Pan

    Email: forest.pan@jtpmak.cn

    Telepon (China): +86 18676993556

  3. Hubungkan DUT dan AP ke host dan tempatkan dalam kotak pelindung RF. DUT dan AP harus berjarak minimal 10 cm. Gambar 2 menunjukkan konfigurasi ini:

    DUT dan AP dalam kotak pelindung

    Gambar 2. DUT dan AP dalam kotak pelindung.

  4. Gunakan SSH untuk memverifikasi bahwa AP dapat diakses dari host.

Menyiapkan pengujian akurasi rentang

Untuk menyiapkan pengujian akurasi pengukuran jarak:

  1. Tempatkan dua DUT Android yang cocok dengan jarak 1 meter, pada ketinggian yang sama, dengan garis pandang langsung, dan dengan bagian belakang setiap perangkat saling berhadapan. Gambar 3 menunjukkan orientasi ini:

    Orientasi perangkat

    Gambar 3. Orientasi perangkat.

  2. Hubungkan kedua perangkat dengan mesin desktop melalui kabel USB.

Menyiapkan pengujian standar dua perangkat

Untuk penyiapan default dua perangkat:

  1. Tempatkan dua DUT Android yang cocok dengan jarak sekitar 20 cm.

  2. Sangat direkomendasikan: Tempatkan kedua perangkat dalam kotak pelindung. Kotak pelindung meningkatkan stabilitas pengujian dan membuat kegagalan pengujian lebih mudah di-debug.

  3. Untuk pengujian telekomunikasi, setiap DUT harus memiliki kartu SIM dan sinyal seluler. Jika DUT berada dalam kotak pelindung, sinyal seluler harus digabungkan ke dalam kotak. Jika tidak, pindahkan perangkat dari kotak pelindung.

  4. Opsional: Siapkan sniffer OTA untuk proses debug Wi-Fi.

Menyiapkan pengujian CDM

Kasus pengujian test_permissions_sync memiliki perilaku yang berbeda, bergantung pada jenis build perangkat tempat pengujian dijalankan. Sangat penting bahwa baik build yang dapat di-debug (userdebug atau eng) maupun yang tidak dapat di-debug (user) diuji oleh OEM dan pengujian lulus untuk keduanya.

Pembebasan

Klausul CDD untuk implementasi API sinkronisasi izin hanya mengharuskan API tersebut dapat berhasil mentransfer data antarperangkat melalui saluran yang aman. Karena implementasi saluran aman bukan persyaratan kepatuhan CDD, pengujian ini dapat dilewati pada build yang tidak dapat di-debug (pengguna), tetapi hanya jika Anda ingin memilih untuk tidak mendukung fitur sinkronisasi izin CDM.

Pengujian harus lulus pada build yang dapat di-debug tanpa pengecualian.

Prasyarat untuk pengujian pada build yang tidak dapat di-debug

Jika Anda tidak dikecualikan, pastikan Anda memenuhi prasyarat berikut.

Saluran aman menggunakan AVF (AttestationVerificationFramework) untuk memverifikasi keandalan hardware. Pengesahan yang dihasilkan oleh kedua pihak berisi beberapa informasi tentang diri mereka untuk memverifikasi bahwa tidak ada perubahan yang tidak sah dalam sistem mereka. AVF memeriksa status berikut selama proses verifikasi:

  • Perangkat memiliki akses ke internet

  • Perangkat menggunakan booting terverifikasi dan build ditandatangani dengan kunci rilis (bukan kunci developer)

  • Bootloader perangkat terkunci. Untuk mengetahui detail selengkapnya, lihat mengunci bootloader.

  • OS, boot kunci, dan level patch vendor kunci berada dalam rentang waktu 12 bulan. Jangan gunakan build yang berusia lebih dari satu tahun.

  • Pengesahan perangkat didukung oleh salah satu root certificate yang disetujui vendor. Tentukan root certificate tepercaya Anda di overlay resource vendor_required_attestation_certificates.xml.

Menjalankan pengujian sisi host

Beberapa pengujian multiperangkat, seperti pengujian NFC, memerlukan penyiapan tambahan. Untuk pengujian yang memerlukan penyiapan tambahan, setiap pengujian dijalankan secara terpisah. Untuk pengujian yang tidak memerlukan penyiapan tambahan, Anda dapat menjalankan pengujian dalam grup.

  1. Di workstation pengujian, luncurkan konsol cts-v-host dari direktori tempat paket zip CTS-V diekstrak:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. Dari dalam aplikasi CTS-V di DUT, klik Host-side Tests. Gambar 4 menunjukkan pengujian sisi host di aplikasi CTS-V:

    Pengujian sisi host di aplikasi CTS-V

    Gambar 4. Pengujian sisi host di aplikasi CTS-V.

    Daftar modul pengujian multiperangkat sisi host akan ditampilkan.

  3. Di konsol host CTS-V, gunakan perintah berikut untuk menjalankan pengujian multiperangkat yang menggunakan penyiapan standar dua perangkat:

    run cts-v-host-multidevice-default
    

    Hasilnya akan muncul di setiap modul pengujian di aplikasi CTS-V pada DUT. Pengujian yang ditandai hijau telah lulus, pengujian yang ditandai merah telah gagal.

    Gambar 5 menunjukkan contoh hasil untuk pengujian CtsCompanionDeviceManager:

    Hasil pengujian multiperangkat sisi host di aplikasi CTS-V

    Gambar 5. Hasil pengujian multiperangkat sisi host di aplikasi CTS-V.

  4. Di konsol host CTS-V, gunakan perintah berikut untuk menjalankan pengujian interaktif:

    run cts-v-host-interactive
    

    Hasilnya akan muncul di setiap modul pengujian di aplikasi CTS-V pada DUT. Pengujian yang ditandai hijau telah lulus, pengujian yang ditandai merah telah gagal.

  5. Untuk setiap pengujian yang memerlukan penyiapan tambahan, jalankan pengujian secara terpisah menggunakan perintah berikut:

    run cts-v-host -m test_module_name
    

    Misalnya, untuk menjalankan pengujian NFC, gunakan perintah ini:

    run cts-v-host -m CtsNfcHceMultiDeviceTestCases
    

    Hasilnya akan muncul di setiap modul pengujian di aplikasi CTS-V pada DUT. Pengujian yang ditandai hijau telah lulus, pengujian yang ditandai merah telah gagal.

Menjalankan pengujian koneksi AP Wi-Fi

Anda dapat menjalankan pengujian koneksi AP Wi-Fi dengan dua cara berikut:

  • Opsi 1: Gunakan jaringan Wi-Fi yang sudah ada yang Anda siapkan untuk CTS-V.
  • Opsi 2: Siapkan AP yang dapat diprogram.

Opsi 1: Gunakan jaringan Wi-Fi yang sudah Anda siapkan untuk CTS-V

Untuk menjalankan pengujian koneksi AP Wi-Fi di jaringan Wi-Fi yang ada:

  1. Edit file konfigurasi testbed (WifiConnectionTestbed.yaml). File ini berada di direktori tempat CTS-Verifier diekstrak. Contoh:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. Ubah nilai kolom wifi_ssid dan wifi_password menjadi SSID dan sandi jaringan Wi-Fi. Contoh berikut menunjukkan lokasi setelan ini:

    TestBeds:
    -   Name: WifiConnectionTestbed
    Controllers:
      AndroidDevice: '*'
    TestParams:
      use_programmable_ap: False
      wifi_ssid: WIFI-SSID
      wifi_password: WIFI-PASSWORD
    
  3. Di konsol host CTS-V, jalankan perintah berikut:

    run cts-v-host -m CtsWifiConnectionTests
    

Opsi 2: Jalankan dengan AP yang dapat diprogram

Untuk menjalankan pengujian koneksi AP Wi-Fi pada AP yang dapat diprogram:

  1. Edit file konfigurasi testbed (WifiConnectionTestbed.yaml). File ini berada di direktori tempat CTS-Verifier diekstrak. Contoh:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. Ubah nilai hostname ke alamat IP AP, berdasarkan setelan SSH lokal Anda. Untuk mengidentifikasi alamat IP, lihat Menemukan alamat IP AP. Contoh berikut menunjukkan lokasi setelan hostname:

    TestBeds:
    -   Name: WifiConnectionTestbed
      Controllers:
        AndroidDevice: '*'
        # Specify settings for the AP.
        OpenWrtDevice:
        -   hostname: AP-IP
          skip_init_reboot: True
      TestParams:
        use_programmable_ap: True
    
  3. Di konsol host CTS-V, jalankan perintah berikut:

    run cts-v-host -m CtsWifiConnectionTests
    

Menjalankan pengujian sisi host USB

Android 17 menyertakan pengujian sisi host CTS-V USB yang memerlukan adb melalui Wi-Fi untuk dijalankan.

Beberapa pengujian USB memerlukan penggunaan host CTS-V untuk mengakses SystemAPI yang memiliki izin yang tidak dapat diakses oleh aplikasi CTS-V normal. Pengujian ini tidak terikat dan memerlukan penggunaan adb melalui Wi-Fi.

Aksesori Type-C berikut diperlukan jika DUT mendukung pelaporan jenis BC 1.2 partner port atau profil daya USB di UsbPort.java:

  • Pengisi daya USB Type-C Power Delivery (PD)
  • Port downstream standar (SDP) pengisian daya baterai USB 1.2 (BC 1.2). Port ini dibatasi untuk menyediakan 500 mA atau 900 mA ke DUT dan umumnya ditemukan di port USB hub eksternal.
  • Port downstream pengisian daya (CDP) USB BC 1.2. Port ini dapat memberikan arus 1,5 A ke DUT dan data. Port Type-C di laptop atau komputer kemungkinan adalah CDP.
  • Port pengisian daya khusus (DCP) USB BC 1.2. Port ini dapat memberikan arus 1,5 A ke DUT tanpa data. Pengisi daya USB Type-C PD dalam daftar ini kemungkinan adalah DCP.
  1. Hubungkan DUT menggunakan adb melalui Wi-Fi. Untuk mengetahui detail penyiapan, lihat Menghubungkan ke perangkat melalui Wi-Fi.

  2. Lepaskan perangkat secara fisik dari semua koneksi USB. Pengujian akan gagal jika perangkat terpasang ke host atau aksesori USB apa pun saat perintah pengujian dijalankan.

  3. Jalankan perintah pengujian berikut:

    run cts-v-host -m CtsUsbTypecTestCases
    

Setelah pengujian, hasilnya akan muncul dalam aplikasi CTS-V di bagian Host-side tests seperti yang ditunjukkan dalam gambar berikut:

Pengujian USB sisi host di aplikasi
CTS-V

Gambar 6. Pengujian USB sisi host di aplikasi CTS-V.

Suite CtsUsbTypecTestCases di aplikasi CTS-V USB sisi host

Gambar 7. Suite CtsUsbTypecTestCases di aplikasi CTS-V USB sisi host.

Memecahkan masalah pengujian multiperangkat

Bagian ini membantu Anda memecahkan masalah umum.

Gagal mendapatkan nomor telepon selama CtsTelecomTest

Jika Anda menerima pesan error Failed to get phone number for <serial>, ikuti langkah-langkah berikut:

  1. Pastikan setiap DUT telah menginstal kartu SIM.

  2. Jika error tetap berlanjut, kartu SIM mungkin tidak mendukung pengambilan nomor otomatis. Dalam hal ini, Anda harus memberikan nomor telepon secara eksplisit dalam perintah.

    Misalnya, untuk DUT 1 (serial 17011FDEE0002N, nomor telepon 555-0000) dan DUT 2 (serial R3CN90YNAR, nomor telepon 555-1111), tambahkan argumen berikut ke perintah run cts-v-host:

    --module-arg CtsTelecomTest:dut_serial:17011FDEE0002N \
    --module-arg CtsTelecomTest:dut_phone_number:555-0000 \
    --module-arg CtsTelecomTest:ref_phone_number:555-1111
    

Tidak ada respons dari server selama CtsMultiDeviceGenericRangingAccuracyTests

Jika Anda menerima pesan error berikut, aplikasi pengujian dapat dibekukan atau dihentikan oleh pengelolaan proses latar belakang khusus OEM di perangkat tertentu:

mobly.snippet.errors.ProtocolError: <AndroidDevice|Initiator> No response from server. Check the device logcat for crashes.

Untuk mengatasi masalah ini, nonaktifkan pembatasan latar belakang atau izinkan paket berikut:

Paket Nama tampilan
com.google.snippet.uwb CtsUwbSnippetApp
com.google.snippet.ranging CtsRangingSnippetApp
com.google.snippet.bluetooth CtsBluetoothMultiDeviceSnippetApp
com.google.android.mobly.snippet.bundled androidx.multidex.MultDexApplication

Memperbaiki masalah Tidak ada respons untuk GetFirmwareVersion selama pengujian NFC

Jika Anda menerima pesan verify_firmware_version RuntimeError: No response for GetFirmwareVersion saat menjalankan pengujian multiperangkat, pengujian tidak dapat mengakses board NFC PN532.

Untuk memperbaiki masalah ini, identifikasi jalur serial yang digunakan oleh board NFC PN532 di host Anda, seperti dev/ttyUSB1, lalu tentukan secara manual menggunakan argumen --module-arg di konsol:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

Memperbaiki pesan error Transaksi gagal selama pengujian NFC

Jika Anda menerima pesan Transaction failed, check device logs for more information. untuk semua kasus pengujian NFC, kemungkinan karena chip NFC DUT tidak dapat mendeteksi PN532.

Jika Anda memiliki beberapa perangkat yang terhubung ke host, dan beberapa di antaranya tidak memiliki PN532 yang ditempatkan di atas, DUT yang salah mungkin telah dipilih. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan pengujian NFC.

Untuk memperbaiki masalah ini, lakukan salah satu tindakan berikut:

  • Tetapkan serial DUT yang benar dalam perintah pengujian sisi host menggunakan flag -s.

  • Putuskan koneksi semua perangkat non-DUT dari host.

Kasus pengujian CDM test_permissions_sync diabaikan

Jika pengujian dijalankan di perangkat yang tidak dapat di-debug, lihat apakah Anda dikecualikan. Jika tidak, pastikan kedua perangkat memenuhi prasyarat.