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 dapat diskalakan 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. Library ini dibangun di atas 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 tonggak pengembangan dengan nama kode U. Gunakan link berikut untuk mendownload paket pengujian CATBox untuk Android 14:
Android 12
Android 12 adalah rilis tonggak pengembangan dengan nama kode S. Gunakan link berikut untuk mendownload rangkaian pengujian CATBox untuk Android 12:
Android 11
Android 11 adalah rilis tonggak pengembangan dengan nama kode R. Gunakan link berikut untuk mendownload paket pengujian CATBox untuk Android 11:
Membangun CATBox
Gunakan perintah build catbox
setelah kode AOSP Android tersedia di
workstation lokal.
Untuk membuat 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 akan 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.
Tingkatkan batas memori. Lihat Persyaratan penyimpanan.
Menyiapkan dan menjalankan CATBox
Gunakan framework pengujian Tradefed untuk menjalankan pengujian di perangkat Android. Sebelum Anda menyiapkan CATBox, lihat Ringkasan Trade Federation.
Untuk menyiapkan dan menjalankan CATBox, lihat bagian di bawah.
Menyiapkan perangkat
Sebelum menjalankan rencana pengujian, selesaikan langkah-langkah berikut untuk menyiapkan perangkat Anda:
Pastikan Anda telah menginstal versi terbaru dari 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 setidaknya 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 Serial untuk perangkat otomotif.Hubungkan ke Wi-Fi.
Ekstrak 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 Serial untuk perangkat otomotif. Jika ada 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 yang tersedia, 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 pemberian izin 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 |
Uji fungsional dial. |
catbox-functional-display-setting |
Pengujian fungsional setelan tampilan. |
catbox-functional-driving-optimized-apps |
Pengujian fungsional pembatasan UX. |
catbox-functional-enable-developers-option |
Aktifkan 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 Profile Icon Bar. |
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 start-up aplikasi dingin untuk Dialer dan Telepon. |
catbox-performance-cold-app-start-up-mediacenter |
Uji performa start-up aplikasi dingin untuk Pusat Media. |
catbox-performance-cold-app-start-up-settings |
Pengujian performa startup aplikasi dingin 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 |
Mengukur latensi untuk beralih ke pengguna non-admin baru. |
catbox-performance-hot-app-start-up-dialer |
Pengujian performa peluncuran aplikasi cepat untuk Dialer dan Telepon. |
catbox-performance-hot-app-start-up-mediacenter |
Pengujian performa peluncuran aplikasi cepat untuk Pusat Media. |
catbox-performance-hot-app-start-up-settings |
Pengujian performa peluncuran aplikasi panas untuk Setelan. |
catbox-performance-jank-appgrid |
Pengujian performa untuk Appgrid. |
catbox-performance-jank-contact-list |
Uji performa untuk Kontak. |
catbox-performance-jank-media |
Pengujian performa untuk Media. |
catbox-performance-jank-media-switch-playback |
Uji performa untuk pemutaran peralihan media. |
catbox-performance-jank-notifications |
Uji 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 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 |
Menjalankan pengujian fungsional dan performa | /android-catbox/logs/latest |