Menjalankan pengujian sisi host CTS Verifier

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):

  1. Pastikan mesin desktop Anda memenuhi persyaratan sistem operasi untuk CTS.
  2. 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 di python.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 modul venv, jalankan python3 -m venv venv. Jika perintah ini gagal, pesan error akan ditampilkan. Ikuti perintah 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 multiperangkat sisi host

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

  1. Pastikan mesin desktop Anda memenuhi persyaratan sistem operasi untuk CTS.
  2. 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 di python.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 modul venv, jalankan python3 -m venv venv. Jika perintah ini gagal, pesan error akan ditampilkan. Ikuti perintah untuk menginstal paket python3.x-venv.
  3. 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.
  4. Buka bagian penyiapan untuk jenis pengujian Anda:

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:

  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 lainnya, posisikan chip di samping antena NFC perangkat.

  5. 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:

  1. 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.

  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 letakkan di dalam kotak pelindung RF. DUT dan AP harus berjarak minimal 10 cm. Gambar 2 menunjukkan konfigurasi ini:

    DUT dan AP dalam kotak perisai

    Gambar 2. DUT dan AP dalam kotak pelindung.

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

Menyiapkan pengujian akurasi pengukuran jarak

Untuk menyiapkan pengujian akurasi rentang:

  1. 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:

    Orientasi perangkat

    Gambar 3. Orientasi perangkat.

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

Menyiapkan pengujian dua perangkat standar

Untuk penyiapan dua perangkat default:

  1. Letakkan 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 mempermudah proses debug kegagalan pengujian.

  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 keluar 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 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.

  1. Di workstation pengujian, luncurkan konsol cts-v-host dari direktori tempat paket CTS-V yang di-unzip:

    ./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 ditampilkan.

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

    run cts-v-host-multidevice-default
    

    Hasilnya 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 tes interaktif:

    run cts-v-host-interactive
    

    Hasilnya 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 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:

  1. 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.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: Menjalankan dengan AP yang dapat diprogram

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

  1. 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.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 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.
  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 gagal jika perangkat terhubung ke host atau aksesori USB 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 pada gambar berikut:

Pengujian USB sisi host di aplikasi CTS-V

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

Rangkaian CtsUsbTypecTestCases di aplikasi CTS-V USB sisi host

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:

  1. Pastikan setiap DUT telah menginstal kartu SIM.

  2. 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 telepon 555-0000) dan DUT 2 (seri 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 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.