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):
Pastikan komputer desktop Anda memenuhi persyaratan sistem operasi untuk CTS.
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 dipython.org.Beberapa pengujian mengharuskan host memiliki modul
venvPython. Pada sistem Debian dan Ubuntu, modul ini mungkin tidak diinstal secara default. Untuk menentukan apakah versi Python desktop memiliki modulvenv, jalankanpython3 -m venv venv. Jika perintah ini gagal, pesan error akan ditampilkan. Ikuti petunjuk untuk menginstal paketpython3.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:
Pastikan komputer desktop Anda memenuhi persyaratan sistem operasi untuk CTS.
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 dipython.org.- Beberapa pengujian mengharuskan host memiliki modul
venvPython. Pada sistem Debian dan Ubuntu, modul ini mungkin tidak diinstal secara default. Untuk menentukan apakah versi Python desktop memiliki modulvenv, jalankanpython3 -m venv venv. Jika perintah ini gagal, pesan error akan ditampilkan. Ikuti petunjuk untuk menginstal paketpython3.x-venv.
- Beberapa pengujian mengharuskan host memiliki modul
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.
Buka bagian penyiapan untuk jenis pengujian Anda:
- Untuk pengujian NFC, buka Menyiapkan pengujian NFC.
- Untuk pengujian koneksi AP Wi-Fi, buka Menyiapkan pengujian koneksi AP Wi-Fi.
- Untuk pengujian akurasi pengukuran jarak, buka Menyiapkan pengujian akurasi pengukuran jarak.
- Untuk menguji modul CDM, buka Menyiapkan pengujian dua perangkat standar, lalu buka Menyiapkan pengujian CDM.
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:
- Beli chip NFC PN532. Sebaiknya gunakan All-In-One PN532.
- Di DUT, buka aplikasi Setelan.
- Aktifkan NFC.
Posisikan chip NFC:
Untuk ponsel, posisikan pembaca NFC DUT seperti yang ditunjukkan pada Gambar 1:

Gambar 1. Penempatan chip NFC.
Untuk jenis perangkat lain, posisikan chip di samping antena NFC perangkat.
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:
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.
(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
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:

Gambar 2. DUT dan AP dalam kotak pelindung.
Gunakan SSH untuk memverifikasi bahwa AP dapat diakses dari host.
Menyiapkan pengujian akurasi rentang
Untuk menyiapkan pengujian akurasi pengukuran jarak:
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:

Gambar 3. Orientasi perangkat.
Hubungkan kedua perangkat dengan mesin desktop melalui kabel USB.
Menyiapkan pengujian standar dua perangkat
Untuk penyiapan default dua perangkat:
Tempatkan dua DUT Android yang cocok dengan jarak sekitar 20 cm.
Sangat direkomendasikan: Tempatkan kedua perangkat dalam kotak pelindung. Kotak pelindung meningkatkan stabilitas pengujian dan membuat kegagalan pengujian lebih mudah di-debug.
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.
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.
Di workstation pengujian, luncurkan konsol
cts-v-hostdari direktori tempat paket zip CTS-V diekstrak:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefedDari dalam aplikasi CTS-V di DUT, klik Host-side Tests. Gambar 4 menunjukkan pengujian sisi host di aplikasi CTS-V:
Gambar 4. Pengujian sisi host di aplikasi CTS-V.
Daftar modul pengujian multiperangkat sisi host akan ditampilkan.
Di konsol host CTS-V, gunakan perintah berikut untuk menjalankan pengujian multiperangkat yang menggunakan penyiapan standar dua perangkat:
run cts-v-host-multidevice-defaultHasilnya 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:
Gambar 5. Hasil pengujian multiperangkat sisi host di aplikasi CTS-V.
Di konsol host CTS-V, gunakan perintah berikut untuk menjalankan pengujian interaktif:
run cts-v-host-interactiveHasilnya akan muncul di setiap modul pengujian di aplikasi CTS-V pada DUT. Pengujian yang ditandai hijau telah lulus, pengujian yang ditandai merah telah gagal.
Untuk setiap pengujian yang memerlukan penyiapan tambahan, jalankan pengujian secara terpisah menggunakan perintah berikut:
run cts-v-host -m test_module_nameMisalnya, untuk menjalankan pengujian NFC, gunakan perintah ini:
run cts-v-host -m CtsNfcHceMultiDeviceTestCasesHasilnya 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:
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.yamlUbah nilai kolom
wifi_ssiddanwifi_passwordmenjadi 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-PASSWORDDi 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:
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.yamlUbah nilai
hostnameke alamat IP AP, berdasarkan setelan SSH lokal Anda. Untuk mengidentifikasi alamat IP, lihat Menemukan alamat IP AP. Contoh berikut menunjukkan lokasi setelanhostname:TestBeds: - Name: WifiConnectionTestbed Controllers: AndroidDevice: '*' # Specify settings for the AP. OpenWrtDevice: - hostname: AP-IP skip_init_reboot: True TestParams: use_programmable_ap: TrueDi 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.
Hubungkan DUT menggunakan
adbmelalui Wi-Fi. Untuk mengetahui detail penyiapan, lihat Menghubungkan ke perangkat melalui Wi-Fi.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.
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:
Gambar 6. Pengujian USB sisi host di aplikasi CTS-V.
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:
Pastikan setiap DUT telah menginstal kartu SIM.
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 telepon555-0000) dan DUT 2 (serialR3CN90YNAR, nomor telepon555-1111), tambahkan argumen berikut ke perintahrun 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.