{i>Complete Automotive Tests in a Box<i} (CATBox) adalah paket {i>open source<i} yang menyediakan kerangka kerja dan alat yang diperlukan untuk merampingkan dan melaksanakan proyek pengujian dengan konfigurasi minimal. CATBox bersifat skalabel dan kompatibel dengan alat, infrastruktur, dan pengujian yang Anda gunakan untuk menguji dan memvalidasi Android Anda Implementasi Automotive OS (AAOS). Hasilnya, Anda dapat memberikan produk ke pasar.
Desain dan penerapan CATBox
Paket pengujian CATBox menyediakan alat, framework, dan pengujian yang diperlukan untuk menjalankan uji 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
Bertukar
Tradefed adalah framework pengujian berkelanjutan open source yang digunakan untuk menjalankan pengujian pada Perangkat Android. Untuk mengetahui detailnya, lihat Ringkasan Federasi Perdagangan.
Framework pengujian otomotif
CATBox didasarkan pada framework pengujian Automotive yang disebut Spectatio, yang menyediakan API untuk pengujian berbagai aplikasi pada perangkat otomotif. AI generatif dibuat di atas pengguna UI Automator, kerangka kerja pengujian {i>open source<i}, yang menyediakan seperangkat API untuk membangun pengujian UI yang berinteraksi dengan aplikasi pengguna dan sistem.
Download paket pengujian CATBox
Android 14
Android Automotive 14 adalah rilis {i>milestone<i} (tonggak pencapaian) pengembangan bernama kode U. Gunakan tautan berikut untuk mengunduh Suite pengujian CATBox untuk Android 14:
Android 12
Android 12 adalah rilis tonggak pencapaian pengembangan dengan nama kode S. Gunakan tautan berikut untuk mengunduh rangkaian tes 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:
Membuat CATBox
Gunakan perintah build catbox
setelah kode AOSP Android tersedia di
workstation lokal.
Untuk membangun paket CATBox secara lokal:
Pilih Target Perangkat berdasarkan arsitektur perangkat dan jalankan perintah berikut:
lunch <target>
Untuk membuat 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
Pengaturan 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 Anda menyiapkan CATBox, lihat Ringkasan Federasi Perdagangan.
Untuk menyiapkan dan menjalankan CATBox, lihat bagian di bawah ini.
Menyiapkan perangkat
Sebelum menjalankan rencana pengujian, selesaikan langkah-langkah berikut untuk menyiapkan perangkat:
Pastikan Anda telah menginstal versi terbaru dari kedua Android Debug Bridge (adb) dan Android Asset Packaging Tool (AAPT), serta menambahkan lokasi alat-alat ini ke jalur sistem dari mesin Linux dan Windows. Untuk mengetahui detailnya, lihat ADB dan AAPT.
Hubungkan setidaknya satu perangkat dan siapkan Perangkat Dalam Pengujian (DUT) saat berikut ini:
Untuk mereset perangkat otomotif ke setelan pabrik, buka Setelan > Sistem > Reset Opsi > Hapus semua data.
Tunggu hingga perangkat dimulai ulang secara otomatis.
Pastikan adb diaktifkan. Untuk memastikan 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 komputer {i>host<i},
gunakan DEVICE_SERIAL
untuk membedakannya. Ganti
TEST_PLAN_NAME
dengan nama rencana pengujian yang Anda inginkan
untuk dijalankan.
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.
Paket pengujian fungsional | Deskripsi |
---|---|
catbox-functional |
Pengujian fungsional. |
catbox-functional-app-info-setting |
Pengujian fungsional setelan info aplikasi. |
catbox-functional-admin-user-grant-permissions |
Uji fungsi pemberian izin pengguna admin. |
catbox-functional-app-info-setting-ui-elements |
Pengujian fungsional setelan info aplikasi. |
catbox-functional-appgrid |
Pengujian fungsi petak aplikasi. |
catbox-functional-base |
Daftar uji fungsional. |
catbox-functional-bluetooth-audio |
Pengujian fungsional audio Bluetooth. |
catbox-functional-bluetooth-palette |
Uji fungsi status bar. |
catbox-functional-bluetooth-tests |
Pengujian Bluetooth menggunakan Mobly. |
catbox-functional-brightness-palette |
Uji fungsi status bar. |
catbox-functional-btmoped |
Uji fungsional berbasis Bluetooth Moped. |
catbox-functional-date-time-setting |
Tanggal dan waktu menyetel uji fungsional. |
catbox-functional-dial |
Memanggil uji fungsional. |
catbox-functional-display-setting |
Menampilkan pengujian fungsional setelan. |
catbox-functional-driving-optimized-apps |
Tes fungsional batasan UX. |
catbox-functional-enable-developers-option |
Aktifkan pengujian fungsional opsi developer. |
catbox-functional-home |
Tes fungsi rumah. |
catbox-functional-lock-screen |
Pengujian fungsional layar kunci. |
catbox-functional-mediacenter |
Pengujian fungsional Pusat Media. |
catbox-functional-microphone-recent-apps |
Uji fungsional setelan mikrofon. |
catbox-functional-microphone-setting |
Uji fungsional setelan mikrofon. |
catbox-functional-multiuser |
Pengujian fungsional multipengguna. |
catbox-functional-multiuser-system-user |
Pengujian fungsional multipengguna. |
catbox-functional-navigation-bar |
Pengujian fungsional menu navigasi. |
catbox-functional-network-palette |
Uji fungsi status bar. |
catbox-functional-network-setting |
Uji fungsi setelan jaringan. |
catbox-functional-notification |
Pengujian fungsional notifikasi. |
catbox-functional-privacy-permission-manager |
Uji fungsional setelan Izin Aplikasi Privasi. |
catbox-functional-privacy-setting |
Uji 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 |
Menyetel Pengujian lokasi. |
catbox-functional-sound-setting |
Uji fungsi setelan suara. |
catbox-functional-status-bar |
Uji fungsi status bar. |
catbox-functional-storage-setting |
Pengujian fungsional setelan penyimpanan. |
catbox-functional-system-setting |
Uji fungsi setelan sistem. |
catbox-functional-systemui |
Pengujian UI sistem. |
catbox-functional-ux-restriction |
Tes fungsional batasan UX. |
catbox-functional-ux-restriction-facet-bar |
Tes fungsional batasan UX. |
Tabel berikut mencantumkan rencana pengujian performa CATBox.
Rencana pengujian performa | Deskripsi |
---|---|
catbox-performance-cold-app-start-up-dialer |
Pengujian performa cold start-up aplikasi untuk Telepon dan Ponsel. |
catbox-performance-cold-app-start-up-mediacenter |
Pengujian performa cold start-up aplikasi untuk Media Center. |
catbox-performance-cold-app-start-up-settings |
Pengujian performa cold start-up aplikasi untuk setelan. |
catbox-performance-create-and-switch-to-new-guest |
Ukur 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 startup aplikasi hot untuk Telepon dan Telepon. |
catbox-performance-hot-app-start-up-mediacenter |
Pengujian performa startup aplikasi hot untuk Media Center. |
catbox-performance-hot-app-start-up-settings |
Pengujian performa startup aplikasi hot 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 Notifications. |
catbox-performance-jank-settings |
Pengujian performa untuk Setelan. |
catbox-performance-switch-to-existing-user |
Ukur latensi untuk beralih ke pengguna lama. |
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 dengan Python yang benar
dalam lingkungan eksekusi.
Meninjau hasil pengujian CATBox
Hasil dari 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 |