Complete Automotive Tests in a Box (CATBox) adalah paket open source yang menyediakan kerangka kerja dan alat yang diperlukan untuk merampingkan dan menjalankan pengujian otomotif dengan konfigurasi minimal. CATBox dapat diskalakan dan kompatibel dengan alat, infrastruktur, dan pengujian yang Anda gunakan untuk menguji dan memvalidasi implementasi Android Automotive OS (AAOS) Anda. Hasilnya, Anda dapat menyediakan produk berkualitas tinggi ke pasar.
Desain dan implementasi CATBox
Rangkaian pengujian CATBox menyediakan alat, kerangka kerja, dan pengujian yang diperlukan untuk menjalankan pengujian fungsional dan kinerja pada perangkat target otomotif.
Gambar berikut mengilustrasikan desain tingkat tinggi dari paket CATBox.
Gambar 1. Paket CATBox
Tradefed
Tradefed adalah kerangka kerja pengujian berkelanjutan open source yang digunakan untuk menjalankan pengujian pada perangkat Android. Untuk detailnya, lihat Tinjauan Federasi Perdagangan .
Kerangka uji otomotif
CATBox didasarkan pada kerangka pengujian Otomotif yang disebut Spectatio, yang menyediakan API untuk menguji berbagai aplikasi pada perangkat otomotif. Itu dibangun di atas UI Automator , kerangka kerja pengujian sumber terbuka, yang menyediakan satu set API untuk membangun pengujian UI yang berinteraksi dengan pengguna dan aplikasi sistem.
Unduhan rangkaian pengujian CATBox
Android 12
Android 12 adalah rilis tonggak pengembangan dengan nama kode S. Gunakan tautan berikut untuk mengunduh rangkaian pengujian CATBox untuk Android 12:
Android 11
Android 11 adalah rilis tonggak pengembangan dengan nama kode R. Gunakan tautan berikut untuk mengunduh rangkaian pengujian CATBox untuk Android 11:
Bangun CATBox
Gunakan perintah catbox
build setelah kode AOSP Android tersedia di workstation lokal. Untuk membangun paket CATBox secara lokal:
Pilih Target Perangkat dan jalankan perintah berikut:
# Select Device Target Based on Device Architecture $ lunch <target>
Untuk membangun CATBox, jalankan perintah berikut:
# Build CATBox $ make catbox
Perintah ini membuat file
android-catbox.zip
di direktori/out/host/linux-x86/catbox
, yang kemudian dapat digunakan untuk menjalankan pengujian.
Pengaturan lingkungan
Pengaturan lingkungan yang diperlukan untuk menjalankan tes CATBox mirip dengan Menyiapkan CTS . Untuk menyiapkan lingkungan, selesaikan setiap tugas berikut:
- Instal ADB dan AAPT .
- Instal JDK. Lihat Kit Pengembangan Java untuk Ubuntu.
- Meningkatkan batas memori. Lihat Persyaratan penyimpanan .
Penyiapan dan eksekusi CATBox
Gunakan kerangka kerja pengujian Tradefed untuk menjalankan pengujian pada perangkat Android. Sebelum penyiapan CATBox, biasakan diri Anda dengan Tinjauan Federasi Perdagangan .
Untuk menyiapkan dan menjalankan CATBox, lihat bagian di bawah.
Pengaturan perangkat
Sebelum menjalankan rencana pengujian, selesaikan langkah-langkah berikut untuk menyiapkan perangkat Anda:
Pastikan Anda telah menginstal Android Debug Bridge (adb) dan Android Asset Packaging Tool (AAPT) versi terbaru, serta menambahkan lokasi alat ini ke jalur sistem mesin Anda. Untuk detailnya, lihat ADB dan AAPT .
Hubungkan setidaknya satu perangkat dan siapkan Device Under Test (DUT) sebagai berikut:
- Untuk menyetel ulang perangkat otomotif ke setelan pabrik, klik Setelan > Sistem > Opsi Setel Ulang > Hapus semua data .
- Tunggu hingga perangkat memulai ulang secara otomatis.
Pastikan adb diaktifkan. Untuk mengonfirmasi perangkat tersedia, jalankan perintah berikut:
$ adb devices
Untuk mengaktifkan root, jalankan perintah berikut:
# Enable Root $ adb -s DEVICE_SERIAL root
Ganti
DEVICE_SERIAL
dengan Serial ID untuk perangkat otomotif.Sambungkan ke Wi-Fi.
Ekstrak paket CATBox
Setelah menyelesaikan pengaturan perangkat, unzip paket CATBox dan buka folder yang diekstrak:
# Extract the CATBox Package
$ unzip android-catbox.zip
# Navigate to extracted CATBox Package
$ cd android-catbox
Jalankan tes di CATBox
Untuk menjalankan CATBox dengan rencana pengujian dalam paket CATBox, jalankan perintah berikut:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Ganti DEVICE_SERIAL
dengan Serial ID untuk perangkat otomotif. Jika Anda memiliki beberapa perangkat yang terhubung ke mesin host, gunakan DEVICE_SERIAL
untuk membedakannya. Ganti TEST_PLAN_NAME
dengan nama rencana pengujian yang ingin Anda jalankan.
Untuk mendapatkan daftar lengkap paket pengujian yang tersedia, jalankan yang berikut ini:
./tools/catbox-tradefed list plans | grep -i catbox
Tabel berikut menampilkan rencana pengujian yang tersedia menurut jenisnya:
Jenis tes | Nama |
---|---|
Rencana uji fungsional | catbox-functional-notification catbox-functional-setting catbox-functional-dial catbox-functional-system-setting catbox-functional-app-info-setting catbox-functional-network-setting catbox-functional-security-setting catbox-functional-sound-setting catbox-functional-date-time-setting catbox-functional-appgrid catbox-functional-home catbox-functional-lock-screen catbox-functional-navigation-bar catbox-functional-ux-restriction catbox-functional-bluetooth-audio |
Rencana uji kinerja | catbox-performance-cold-app-start-up-settings catbox-performance-hot-app-start-up-settings catbox-performance-jank-settings catbox-performance-cold-app-start-up-dialer catbox-performance-hot-app-start-up-dialer catbox-performance-jank-contact-list catbox-performance-jank-notifications catbox-performance-jank-appgrid catbox-performance-cold-app-start-up-mediacenter catbox-performance-hot-app-start-up-mediacenter catbox-performance-create-and-switch-to-new-guest catbox-performance-create-and-switch-to-new-user catbox-performance-create-and-switch-to-precreated-guest catbox-performance-create-and-switch-to-precreated-user catbox-performance-switch-to-existing-user |
Hasil tes CATBox
Hasil pengujian disimpan di folder android-catbox/results/latest
untuk eksekusi pengujian fungsional dan kinerja.
- Untuk hasil tes, lihat
test_result.xml
. - Untuk detail pengujian kegagalan, lihat
test_result_failures_suite.html
. - Untuk hasil metrik kinerja, lihat
CatboxPerformanceTests.reportlog.json
di direktorireport-log-files
.
Log disimpan di jalur android-catbox/logs/latest
untuk eksekusi uji fungsional dan kinerja.
Beberapa pengujian seperti Dial, Bluetooth Audio, dan Contacts list jank test memerlukan pengaturan perangkat tambahan.
Tes panggil
Tes Dial memerlukan pengaturan perangkat dan parameter runtime. Untuk menyiapkan perangkat:
- Hubungkan perangkat seluler ke unit kepala Otomotif melalui Bluetooth.
- Pastikan telepon percobaan berisi kartu SIM untuk menjalankan tes panggilan dan terhubung ke jaringan seluler.
- Tes panggilan menggunakan kontak default yang disimpan di telepon. Gunakan contact.vcf untuk memuat kontak di telepon.
Ganti
COMPANION_SERIAL
dengan Serial ID untuk telepon dan jalankan perintah berikut:# Contacts can be loaded on the phone by pushing the contacts.vcf file on the phone and importing it in the Contacts application. OR # Importing contacts using adb. # Push contacts VCF file to phone $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf # Grant Read Permissions $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts android.permission.READ_EXTERNAL_STORAGE # Import contacts from the VCF file $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf -a android.intent.action.VIEW com.google.android.contacts # Then accept the prompts on the UI to load the contacts.
Parameter waktu proses
Tes panggil menggunakan nomor telepon kecil dan besar untuk pelaksanaan tes. Tes panggilan juga menggunakan nama kontak dan nomor kontak untuk tes pencarian. Gunakan parameter berikut untuk memberikan informasi ini:
Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>
Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>
Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >
Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >
Tes audio Bluetooth
Untuk menyiapkan perangkat untuk pengujian audio Bluetooth:
- Pastikan aplikasi YouTube Music diinstal di ponsel dan Anda masuk ke akun. Jika tidak, instal aplikasi dan masuk ke akun.
- Pasangkan telepon secara manual ke perangkat otomotif melalui Bluetooth.
- Setelah telepon dipasangkan, putar lagu di telepon dan mulailah menjalankan tes.
Tes jank daftar kontak
Untuk menyiapkan perangkat untuk uji jank daftar Kontak:
- Pastikan ponsel memiliki beberapa kontak sehingga pengujian dapat menggulir daftar Kontak untuk mengumpulkan metrik jank.
- Pasangkan telepon secara manual ke perangkat otomotif melalui Bluetooth.
- Setelah telepon dipasangkan, kontak dapat diakses di perangkat.