Tes Otomotif Lengkap dalam Kotak (CATBox) adalah paket sumber terbuka yang menyediakan kerangka kerja dan alat yang diperlukan untuk menyederhanakan dan melaksanakan tes 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). 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 dan saat menggunakan perangkat pendamping.
Gambar berikut mengilustrasikan desain tingkat tinggi dari paket CATBox.
Gambar 1. Paket CATBox
Diperdagangkan
Tradefed adalah kerangka pengujian berkelanjutan sumber terbuka yang digunakan untuk menjalankan pengujian pada perangkat Android. Untuk detailnya, lihat Ikhtisar 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 pengujian sumber terbuka, yang menyediakan serangkaian API untuk membangun pengujian UI yang berinteraksi dengan aplikasi pengguna dan sistem.
Unduhan rangkaian pengujian CATBox
Android 14
Android Automotive 14 adalah rilis tonggak pengembangan dengan nama kode U. Gunakan tautan berikut untuk mengunduh rangkaian pengujian CATBox untuk Android 14:
Android 12
Android 12 adalah rilis tonggak pengembangan yang diberi nama kode S. Gunakan tautan berikut untuk mengunduh rangkaian pengujian CATBox untuk Android 12:
Android 11
Android 11 adalah rilis tonggak pengembangan yang diberi nama kode R. Gunakan tautan berikut untuk mengunduh rangkaian pengujian CATBox untuk Android 11:
Bangun CATBox
Gunakan perintah catbox
build setelah kode Android AOSP tersedia di stasiun kerja lokal.
Untuk membangun paket CATBox secara lokal:
Pilih Target Perangkat berdasarkan arsitektur perangkat dan jalankan perintah berikut:
lunch <target>
Untuk membangun CATBox, jalankan perintah berikut:
make catbox
Perintah ini membuat file
android-catbox.zip
di direktori/out/host/linux-x86/catbox
, yang kemudian dapat digunakan untuk menjalankan pengujian.
Siapkan 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 .
Tingkatkan batas memori. Lihat Persyaratan penyimpanan .
Siapkan dan jalankan CATBox
Gunakan kerangka pengujian Tradefed untuk menjalankan pengujian pada perangkat Android. Sebelum Anda menyiapkan CATBox, lihat Ikhtisar Federasi Dagang .
Untuk menyiapkan dan menjalankan CATBox, lihat bagian di bawah.
Siapkan perangkat
Sebelum menjalankan rencana pengujian, selesaikan langkah-langkah berikut untuk menyiapkan perangkat Anda:
Pastikan Anda telah menginstal versi terbaru Android Debug Bridge (adb) dan Android Asset Packaging Tool (AAPT) , serta menambahkan lokasi alat ini ke jalur sistem mesin Anda. Untuk detailnya, lihat ADB dan AAPT .
Hubungkan setidaknya satu perangkat dan persiapkan Perangkat yang Sedang Diuji (DUT) sebagai berikut:
Untuk mengembalikan perangkat otomotif ke setelan pabrik, buka Pengaturan > Sistem > Opsi Reset > 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:
adb -s DEVICE_SERIAL root
Ganti
DEVICE_SERIAL
dengan Serial ID untuk perangkat otomotif.Hubungkan ke Wi-Fi.
Ekstrak paket CATBox
Setelah menyiapkan perangkat, unzip paket CATBox dan buka folder yang diekstrak:
unzip android-catbox.zip
cd android-catbox
Jalankan tes di CATBox
Untuk menjalankan CATBox dengan rencana pengujian dalam paket CATBox:
./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 terlengkap dari paket yang tersedia, gunakan baris perintah:
./tools/catbox-tradefed list plans | grep -i catbox
Jenis rencana pengujian
Tabel berikut menampilkan rencana pengujian fungsional yang tersedia.
Rencana pengujian fungsional | Keterangan |
---|---|
catbox-functional | Tes fungsional. |
catbox-functional-app-info-setting | Tes fungsional pengaturan info aplikasi. |
catbox-functional-admin-user-grant-permissions | Pengguna admin memberikan izin tes fungsional. |
catbox-functional-app-info-setting-ui-elements | Tes fungsional pengaturan info aplikasi. |
catbox-functional-appgrid | Tes fungsional jaringan aplikasi. |
catbox-functional-base | Daftar tes fungsional. |
catbox-functional-bluetooth-audio | Tes fungsional audio Bluetooth. |
catbox-functional-bluetooth-palette | Tes fungsional bilah status. |
catbox-functional-bluetooth-tests | Tes Bluetooth menggunakan Mobly. |
catbox-functional-brightness-palette | Tes fungsional bilah status. |
catbox-functional-btmoped | Tes fungsional berbasis Bluetooth Moped. |
catbox-functional-date-time-setting | Tes fungsional pengaturan tanggal dan waktu. |
catbox-functional-dial | Panggil tes fungsional. |
catbox-functional-display-setting | Tes fungsional pengaturan tampilan. |
catbox-functional-driving-optimized-apps | Tes fungsional pembatasan UX. |
catbox-functional-enable-developers-option | Aktifkan tes fungsional opsi pengembang. |
catbox-functional-home | Tes fungsional rumah. |
catbox-functional-lock-screen | Tes fungsional layar kunci. |
catbox-functional-mediacenter | Tes fungsional Pusat Media. |
catbox-functional-microphone-recent-apps | Tes fungsional pengaturan mikrofon. |
catbox-functional-microphone-setting | Tes fungsional pengaturan mikrofon. |
catbox-functional-multiuser | Tes fungsional multipengguna. |
catbox-functional-multiuser-system-user | Tes fungsional multipengguna. |
catbox-functional-navigation-bar | Tes fungsional bilah navigasi. |
catbox-functional-network-palette | Tes fungsional bilah status. |
catbox-functional-network-setting | Tes fungsional pengaturan jaringan. |
catbox-functional-notification | Tes fungsional notifikasi. |
catbox-functional-privacy-permission-manager | Izin Aplikasi Privasi mengatur tes fungsional. |
catbox-functional-privacy-setting | Tes fungsional pengaturan mikrofon. |
catbox-functional-privacy-setting-ui-elements | Tes fungsional pengaturan privasi. |
catbox-functional-profile-icon | Tes fungsional Bilah Ikon Profil. |
catbox-functional-profiles-icon-list | Tes daftar ikon profil. |
catbox-functional-security-setting | Tes fungsional pengaturan keamanan. |
catbox-functional-setting | Menetapkan tes fungsional. |
catbox-functional-settings-location | Mengatur lokasi Tes. |
catbox-functional-sound-setting | Tes fungsional pengaturan suara. |
catbox-functional-status-bar | Tes fungsional bilah status. |
catbox-functional-storage-setting | Tes fungsional pengaturan penyimpanan. |
catbox-functional-system-setting | Tes fungsional pengaturan sistem. |
catbox-functional-systemui | Tes UI sistem. |
catbox-functional-ux-restriction | Tes fungsional pembatasan UX. |
catbox-functional-ux-restriction-facet-bar | Tes fungsional pembatasan UX. |
Tabel berikut mencantumkan rencana pengujian kinerja CATBox.
Rencana pengujian kinerja | Keterangan |
---|---|
catbox-performance-cold-app-start-up-dialer | Uji kinerja permulaan aplikasi dingin untuk Dialer dan Telepon. |
catbox-performance-cold-app-start-up-mediacenter | Uji kinerja permulaan aplikasi dingin untuk Media Center. |
catbox-performance-cold-app-start-up-settings | Uji kinerja permulaan aplikasi dingin untuk pengaturan. |
catbox-performance-create-and-switch-to-new-guest | Ukur latensi untuk beralih ke tamu baru. |
catbox-performance-create-and-switch-to-new-user | Ukur latensi untuk beralih ke pengguna non-admin baru. |
catbox-performance-hot-app-start-up-dialer | Uji kinerja permulaan aplikasi panas untuk Dialer dan Telepon. |
catbox-performance-hot-app-start-up-mediacenter | Tes kinerja permulaan aplikasi panas untuk Media Center. |
catbox-performance-hot-app-start-up-settings | Tes kinerja permulaan aplikasi panas untuk Pengaturan. |
catbox-performance-jank-appgrid | Tes kinerja untuk Appgrid. |
catbox-performance-jank-contact-list | Tes kinerja untuk Kontak. |
catbox-performance-jank-media | Tes kinerja untuk Media. |
catbox-performance-jank-media-switch-playback | Uji kinerja untuk pemutaran peralihan media. |
catbox-performance-jank-notifications | Tes kinerja untuk Notifikasi. |
catbox-performance-jank-settings | Tes kinerja untuk Pengaturan. |
catbox-performance-switch-to-existing-user | Ukur latensi untuk beralih ke pengguna yang sudah ada. |
Jalankan pengujian sisi host multiperangkat
Eksekusi pengujian sisi host multiperangkat menggunakan CATBox untuk menjalankan pengujian dalam satu sesi. Misalnya, BTDiscoveryTest
:
make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest
CATBox menginstal apk
dan kemudian pengujian dijalankan di lingkungan eksekusi Python yang benar.
Tinjau hasil tes CATBox
Hasil uji fungsi dan kinerja disimpan di android-catbox/results/latest
.
Jenis hasil | Lokasi |
---|---|
Hasil tes | test_result.xml |
Detail tes kegagalan | test_result_failures_suite.html |
Hasil metrik kinerja | /report-log-files/CatboxPerformanceTests.reportlog.json |
Uji fungsional dan kinerja berjalan | /android-catbox/logs/latest |