Complete Automotive Tests in a Box (CATBox) adalah paket open source yang menyediakan framework dan alat yang diperlukan untuk menyederhanakan dan menjalankan pengujian otomotif dengan konfigurasi minimal. CATBox bersifat skalabel dan kompatibel dengan alat, infrastruktur, dan pengujian yang Anda gunakan untuk menguji dan memvalidasi penerapan Android Automotive OS (AAOS). Dengan demikian, Anda dapat menyediakan produk berkualitas tinggi ke marketplace.
Desain dan penerapan CATBox
Rangkaian pengujian CATBox menyediakan alat, framework, dan pengujian yang diperlukan untuk menjalankan pengujian fungsional dan performa pada perangkat target otomotif dan saat menggunakan perangkat pendamping.
Gambar berikut mengilustrasikan desain tingkat tinggi paket CATBox.
Gambar 1. Paket CATBox
Tradefed
Tradefed adalah framework pengujian berkelanjutan open source yang digunakan untuk menjalankan pengujian di perangkat Android. Untuk mengetahui detailnya, lihat Ringkasan Federasi Perdagangan.
Framework pengujian otomotif
CATBox didasarkan pada framework pengujian Otomotif yang disebut Spectatio, yang menyediakan API untuk menguji berbagai aplikasi di perangkat otomotif. Pengujian ini dibuat berdasarkan UI Automator, framework pengujian open source, yang menyediakan serangkaian API untuk membuat pengujian UI yang berinteraksi dengan aplikasi pengguna dan sistem.
Download rangkaian pengujian CATBox
Android 14
Android Automotive 14 adalah rilis milestone pengembangan dengan nama kode U. Gunakan link berikut untuk mendownload paket pengujian CATBox untuk Android 14:
Android 12
Android 12 adalah rilis tonggak pencapaian pengembangan dengan nama kode S. Gunakan link berikut untuk mendownload rangkaian pengujian CATBox untuk Android 12:
Android 11
Android 11 adalah rilis tonggak pencapaian pengembangan dengan nama kode R. Gunakan link berikut untuk mendownload rangkaian pengujian CATBox untuk Android 11:
Mem-build CATBox
Gunakan perintah build catbox
setelah kode AOSP Android tersedia di
workstation lokal.
Untuk mem-build paket CATBox secara lokal:
Pilih Target Perangkat berdasarkan arsitektur perangkat dan jalankan perintah berikut:
lunch <target>
Untuk mem-build 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.
Menyiapkan lingkungan
Penyiapan lingkungan yang diperlukan untuk menjalankan pengujian CATBox mirip dengan Menyiapkan CTS. Untuk menyiapkan lingkungan, selesaikan setiap tugas berikut:
Instal ADB dan AAPT.
Instal JDK. Lihat Java Development Kit untuk Ubuntu.
Meningkatkan batas memori. Lihat Persyaratan penyimpanan.
Menyiapkan dan menjalankan CATBox
Gunakan framework pengujian Tradefed untuk menjalankan pengujian di perangkat Android. Sebelum menyiapkan CATBox, lihat Ringkasan Federasi Perdagangan.
Untuk menyiapkan dan menjalankan CATBox, lihat bagian di bawah.
Menyiapkan perangkat
Sebelum menjalankan rencana pengujian, selesaikan langkah-langkah berikut untuk menyiapkan perangkat:
Pastikan Anda telah menginstal versi terbaru Android Debug Bridge (adb) dan Android Asset Packaging Tool (AAPT), serta menambahkan lokasi alat ini ke jalur sistem komputer Anda. Untuk mengetahui detailnya, lihat ADB dan AAPT.
Hubungkan minimal satu perangkat dan siapkan Perangkat yang Sedang Diuji (DUT) sebagai berikut:
Untuk mereset perangkat otomotif ke setelan pabrik, buka Setelan > Sistem > Opsi Reset > Hapus semua data.
Tunggu hingga perangkat dimulai ulang secara otomatis.
Pastikan adb diaktifkan. Untuk mengonfirmasi bahwa perangkat tersedia, jalankan perintah berikut:
adb devices
Untuk mengaktifkan root, jalankan perintah berikut:
adb -s DEVICE_SERIAL root
Ganti
DEVICE_SERIAL
dengan ID Seri untuk perangkat otomotif.Hubungkan ke Wi-Fi.
Mengekstrak paket CATBox
Setelah menyiapkan perangkat, ekstrak paket CATBox dan buka folder yang diekstrak:
unzip android-catbox.zip
cd android-catbox
Menjalankan pengujian 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 ID Seri 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 rencana yang paling lengkap, gunakan command line:
./tools/catbox-tradefed list plans | grep -i catbox
Jenis rencana pengujian
Tabel berikut menampilkan rencana pengujian fungsional yang tersedia.
Rencana pengujian fungsional | Deskripsi |
---|---|
catbox-functional |
Pengujian fungsional. |
catbox-functional-app-info-setting |
Pengujian fungsional setelan info aplikasi. |
catbox-functional-admin-user-grant-permissions |
Pengujian fungsional izin pemberian pengguna admin. |
catbox-functional-app-info-setting-ui-elements |
Pengujian fungsional setelan info aplikasi. |
catbox-functional-appgrid |
Pengujian fungsional petak aplikasi. |
catbox-functional-base |
Daftar pengujian fungsional. |
catbox-functional-bluetooth-audio |
Pengujian fungsional audio Bluetooth. |
catbox-functional-bluetooth-palette |
Pengujian fungsional status bar. |
catbox-functional-bluetooth-tests |
Pengujian Bluetooth menggunakan Mobly. |
catbox-functional-brightness-palette |
Pengujian fungsional status bar. |
catbox-functional-btmoped |
Pengujian fungsional berbasis Moped Bluetooth. |
catbox-functional-date-time-setting |
Pengujian fungsional setelan tanggal dan waktu. |
catbox-functional-dial |
Pengujian fungsional panggilan. |
catbox-functional-display-setting |
Pengujian fungsional setelan tampilan. |
catbox-functional-driving-optimized-apps |
Pengujian fungsional pembatasan UX. |
catbox-functional-enable-developers-option |
Mengaktifkan pengujian fungsional opsi developer. |
catbox-functional-home |
Pengujian fungsional rumah. |
catbox-functional-lock-screen |
Pengujian fungsional layar kunci. |
catbox-functional-mediacenter |
Pengujian fungsional Media Center. |
catbox-functional-microphone-recent-apps |
Pengujian fungsional setelan mikrofon. |
catbox-functional-microphone-setting |
Pengujian fungsional setelan mikrofon. |
catbox-functional-multiuser |
Pengujian fungsional multi-pengguna. |
catbox-functional-multiuser-system-user |
Pengujian fungsional multi-pengguna. |
catbox-functional-navigation-bar |
Pengujian fungsional menu navigasi. |
catbox-functional-network-palette |
Pengujian fungsional status bar. |
catbox-functional-network-setting |
Pengujian fungsional setelan jaringan. |
catbox-functional-notification |
Pengujian fungsional notifikasi. |
catbox-functional-privacy-permission-manager |
Pengujian fungsional setelan Izin Aplikasi Privasi. |
catbox-functional-privacy-setting |
Pengujian fungsional setelan mikrofon. |
catbox-functional-privacy-setting-ui-elements |
Pengujian fungsional setelan privasi. |
catbox-functional-profile-icon |
Pengujian fungsional Panel Ikon Profil. |
catbox-functional-profiles-icon-list |
Pengujian daftar ikon profil. |
catbox-functional-security-setting |
Pengujian fungsional setelan keamanan. |
catbox-functional-setting |
Menetapkan pengujian fungsional. |
catbox-functional-settings-location |
Menetapkan Pengujian lokasi. |
catbox-functional-sound-setting |
Pengujian fungsional setelan suara. |
catbox-functional-status-bar |
Pengujian fungsional status bar. |
catbox-functional-storage-setting |
Pengujian fungsional setelan penyimpanan. |
catbox-functional-system-setting |
Pengujian fungsional setelan sistem. |
catbox-functional-systemui |
Pengujian UI sistem. |
catbox-functional-ux-restriction |
Pengujian fungsional pembatasan UX. |
catbox-functional-ux-restriction-facet-bar |
Pengujian fungsional pembatasan UX. |
Tabel berikut mencantumkan rencana pengujian performa CATBox.
Rencana pengujian performa | Deskripsi |
---|---|
catbox-performance-cold-app-start-up-dialer |
Pengujian performa cold start aplikasi untuk Telepon dan Telepon. |
catbox-performance-cold-app-start-up-mediacenter |
Pengujian performa cold start aplikasi untuk Media Center. |
catbox-performance-cold-app-start-up-settings |
Pengujian performa cold start aplikasi untuk setelan. |
catbox-performance-create-and-switch-to-new-guest |
Mengukur 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 |
Pengujian performa startup aplikasi panas untuk Telepon dan Telepon. |
catbox-performance-hot-app-start-up-mediacenter |
Pengujian performa startup aplikasi panas untuk Media Center. |
catbox-performance-hot-app-start-up-settings |
Pengujian performa startup aplikasi panas untuk Setelan. |
catbox-performance-jank-appgrid |
Pengujian performa untuk Appgrid. |
catbox-performance-jank-contact-list |
Pengujian performa untuk Kontak. |
catbox-performance-jank-media |
Pengujian performa untuk Media. |
catbox-performance-jank-media-switch-playback |
Pengujian performa untuk pemutaran tombol media. |
catbox-performance-jank-notifications |
Pengujian performa untuk Notifikasi. |
catbox-performance-jank-settings |
Pengujian performa untuk Setelan. |
catbox-performance-switch-to-existing-user |
Mengukur latensi untuk beralih ke pengguna yang ada. |
Menjalankan 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
, lalu pengujian dijalankan di lingkungan eksekusi
Python yang benar.
Meninjau hasil pengujian CATBox
Hasil pengujian fungsional dan performa yang dijalankan disimpan di
android-catbox/results/latest
.
Jenis hasil | Lokasi |
---|---|
Hasil uji | test_result.xml |
Detail pengujian kegagalan | test_result_failures_suite.html |
Hasil metrik performa | /report-log-files/CatboxPerformanceTests.reportlog.json |
Pengujian fungsional dan performa berjalan | /android-catbox/logs/latest |