Halaman ini berisi petunjuk untuk menyiapkan dan menjalankan pengujian Android 16 QPR2 sisi host dan Android 17 CTS Verifier (CTS-V). Ada dua jenis pengujian sisi host: pengujian multi-perangkat (diperkenalkan sebelum Android 17) dan pengujian interaktif (baru di Android 17):
- Pengujian multiperangkat adalah pengujian yang sepenuhnya otomatis.
- Pengujian interaktif adalah pengujian semi-otomatis, yang mengharuskan Anda melakukan beberapa langkah manual pada perangkat yang sedang diuji (DUT).
Selain pengujian interaktif baru, kami mengonversi akurasi pengukuran jarak manual dan pengujian telekomunikasi menjadi pengujian multiperangkat sisi host, dan pengujian koneksi Wi-Fi kini diwajibkan.
Menyiapkan pengujian sisi host
Ikuti langkah-langkah berikut untuk menyiapkan pengujian sisi host (pengujian multiperangkat memerlukan penyiapan tambahan):
- Pastikan mesin desktop Anda memenuhi persyaratan sistem operasi untuk CTS.
- Ikuti langkah 2 dan 5 pada Menginstal software desktop
untuk menginstal dan memverifikasi bahwa adb, AAPT2, dan Python telah diinstal dengan benar di
desktop Anda.
- Versi Python Anda 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 informasi lebih lanjut, lihat bagian Download dipython.org. - Pengujian tertentu mengharuskan host memiliki modul Python
venv. Di sistem Debian dan Ubuntu, modul ini mungkin tidak diinstal secara default. Untuk menentukan apakah versi Python Anda memiliki modulvenv, jalankanpython3 -m venv venv. Jika perintah ini gagal, pesan error akan ditampilkan. Ikuti perintah untuk menginstal paketpython3.x-venv.
- Versi Python Anda harus 3.11 atau yang lebih tinggi. Untuk menentukan versi Python, jalankan
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 multiperangkat sisi host
Ikuti langkah-langkah berikut untuk menyiapkan pengujian multiperangkat sisi host:
- Pastikan mesin desktop Anda memenuhi persyaratan sistem operasi untuk CTS.
Ikuti langkah 2 dan 5 pada Menginstal software desktop untuk menginstal dan memverifikasi bahwa adb, AAPT2, dan Python telah diinstal dengan benar di desktop Anda.
- Versi Python Anda 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 informasi lebih lanjut, lihat bagian Download dipython.org. - Pengujian tertentu mengharuskan host memiliki modul Python
venv. Di sistem Debian dan Ubuntu, modul ini mungkin tidak diinstal secara default. Untuk menentukan apakah versi Python Anda memiliki modulvenv, jalankanpython3 -m venv venv. Jika perintah ini gagal, pesan error akan ditampilkan. Ikuti perintah untuk menginstal paketpython3.x-venv.
- Versi Python Anda harus 3.11 atau yang lebih tinggi. Untuk menentukan versi Python, jalankan
Siapkan dua DUT yang cocok, masing-masing dengan CTS-V yang sudah disiapkan.
- Untuk mengetahui informasi tentang cara menyiapkan DUT, lihat Menyiapkan DUT.
- Untuk mengetahui petunjuk 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 dua perangkat standar.
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 lainnya, posisikan chip di samping antena NFC perangkat.
Hubungkan 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, sebaiknya pilih opsi 2, tetapi opsi ini tidak wajib. Dua bagian berikut menjelaskan setiap opsi.
Opsi 1: Menggunakan jaringan Wi-Fi yang sudah ada yang 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 dan siapkan Banana Pi R3 AP. 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 18676993556Hubungkan DUT dan AP ke host dan letakkan di 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 pengukuran jarak
Untuk menyiapkan pengujian akurasi rentang:
Letakkan 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 dua perangkat standar
Untuk penyiapan dua perangkat default:
- Letakkan dua DUT Android yang cocok dengan jarak sekitar 20 cm.
Sangat direkomendasikan: Tempatkan kedua perangkat dalam kotak pelindung. Kotak pelindung meningkatkan stabilitas pengujian dan mempermudah proses debug kegagalan pengujian.
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 keluar 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 agar
kedua build yang dapat di-debug (userdebug atau eng) dan yang tidak dapat di-debug (user) diuji oleh OEM dan lulus pengujian untuk keduanya.
Pembebasan
Klausul CDD untuk penerapan API sinkronisasi izin hanya mewajibkan API tersebut dapat mentransfer data antar-perangkat melalui saluran yang aman. Karena penerapan saluran aman bukan persyaratan kepatuhan CDD, pengujian ini dapat dilewati pada build yang tidak dapat di-debug (pengguna), tetapi hanya jika Anda ingin menonaktifkan dukungan fitur sinkronisasi izin CDM.
Pengujian harus lulus pada build yang dapat di-debug tanpa terkecuali.
Prasyarat untuk pengujian pada build yang tidak dapat di-debug
Jika Anda tidak dibebaskan, verifikasi bahwa Anda memenuhi prasyarat berikut.
Saluran aman menggunakan AVF (AttestationVerificationFramework) untuk memverifikasi kredibilitas hardware. Pengesahan yang dibuat oleh kedua belah 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 harus ditandatangani dengan kunci rilis, bukan kunci dev
- Bootloader perangkat terkunci. Untuk mendapatkan petunjuk terperinci, lihat mengunci bootloader
- Tingkat patch OS, boot kunci, dan vendor kunci berada dalam waktu 12 bulan. Jangan gunakan build yang lebih lama dari satu tahun
- Pengesahan perangkat didukung oleh salah satu sertifikat root yang disetujui vendor. Tentukan sertifikat root 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 CTS-V yang di-unzip:./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 ditampilkan.
Di konsol host CTS-V, gunakan perintah berikut untuk menjalankan pengujian multiperangkat yang menggunakan penyiapan dua perangkat standar:
run cts-v-host-multidevice-defaultHasilnya 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 tes interaktif:
run cts-v-host-interactiveHasilnya 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 muncul di setiap modul pengujian di aplikasi CTS-V pada DUT. Pengujian yang ditandai hijau telah lulus, pengujian yang ditandai merah telah gagal.
Menjalankan uji 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: Menggunakan jaringan Wi-Fi yang sudah ada yang 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 ada di direktori tempat CTS-Verifier di-unzip. 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: Menjalankan dengan AP yang dapat diprogram
Untuk menjalankan pengujian koneksi AP Wi-Fi di AP yang dapat diprogram:
Edit file konfigurasi testbed (
WifiConnectionTestbed.yaml). File ini ada di direktori tempat CTS-Verifier di-unzip. 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 hilir (SDP) standar pengisian daya baterai USB 1.2 (BC 1.2). Port ini terbatas untuk menyediakan 500 mA atau 900 mA ke DUT dan biasanya ditemukan di port USB hub eksternal.
- Port hilir pengisian daya USB BC 1.2 (CDP). Port ini dapat menyediakan arus 1,5 A ke DUT dan data. Port Type-C di laptop atau komputer kemungkinan merupakan CDP.
- Port pengisi daya khusus USB BC 1.2 (DCP). Port ini dapat menyediakan arus 1,5 A ke DUT tanpa data. Pengisi daya PD USB Type-C 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 gagal jika perangkat terhubung ke host atau aksesori USB 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 pada gambar berikut:
Gambar 6. Pengujian USB sisi host di aplikasi CTS-V.
Gambar 7. Rangkaian 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 berlanjut, kartu SIM mungkin tidak mendukung pengambilan nomor otomatis, sehingga Anda harus memberikan nomor telepon secara eksplisit dalam perintah.
Misalnya, untuk DUT 1 (seri
17011FDEE0002N, nomor telepon555-0000) dan DUT 2 (seriR3CN90YNAR, 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 masukkan paket berikut ke daftar yang diizinkan:
| 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 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 papan NFC PN532.
Untuk memperbaiki masalah ini, identifikasi jalur serial yang digunakan oleh papan 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 ada beberapa perangkat yang terhubung ke host, dan beberapa di antaranya tidak memiliki PN532 di atasnya, DUT yang salah mungkin telah dipilih. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan pengujian NFC.
Untuk memperbaiki masalah ini, lakukan salah satu tindakan berikut:
Setel 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.