Complete Automotive Tests in a Box (CATBox), otomotiv testlerini en az yapılandırmayla kolaylaştırmak ve yürütmek için gereken çerçeveleri ve araçları sağlayan bir açık kaynak paketidir. CATBox, Android Automotive OS (AAOS) uygulamalarınızı test edip doğrulamak için kullandığınız araçlar, altyapı ve testlerle uyumlu ve ölçeklenebilir bir çözümdür. Bu sayede, pazar yerine yüksek kaliteli ürünler sunabilirsiniz.
CATBox tasarımı ve uygulaması
CATBox test paketi, bir otomotiv hedef cihazında ve eşlik eden bir cihaz kullanılırken işlevsel ve performans testleri yürütmek için gereken araçları, çerçeveleri ve testleri sağlar.
Aşağıdaki resimde, CATBox paketinin üst düzey tasarımı gösterilmektedir.
1. şekil. CATBox paketi
Tradefed
Tradefed, Android cihazlarda testleri yürütmek için kullanılan açık kaynaklı bir sürekli test çerçevesidir. Ayrıntılar için Ticaret Federasyonu'na Genel Bakış başlıklı makaleyi inceleyin.
Otomotiv test çerçevesi
CATBox, otomotiv cihazlarında çeşitli uygulamaları test etmek için API'ler sağlayan Spectatio adlı bir Automotive test çerçevesine dayanmaktadır. Kullanıcı ve sistem uygulamalarıyla etkileşim kuran kullanıcı arayüzü testleri oluşturmak için bir dizi API sağlayan açık kaynaklı bir test çerçevesi olan UI Automator'ın üzerine kurulmuştur.
CATBox test paketi indirmeleri
Android 14
Android Automotive 14, U kod adlı geliştirme aşamasının yayınlanmasıdır. Android 14 için CATBox test paketlerini indirmek üzere aşağıdaki bağlantıları kullanın:
Android 12
Android 12, S kod adlı geliştirme aşamasının yayınlanmasıdır. Android 12 için CATBox test paketlerini indirmek üzere aşağıdaki bağlantıları kullanın:
Android 11
Android 11, R kod adlı geliştirme aşamasının yayınlanmasıdır. Android 11 için CATBox test paketlerini indirmek üzere aşağıdaki bağlantıları kullanın:
Build CATBox
Android AOSP kodu yerel iş istasyonunda kullanılabilir hale geldikten sonra catbox
derleme komutunu kullanın.
CATBox paketini yerel olarak oluşturmak için:
Cihaz mimarisine göre Cihaz Hedefi'ni seçin ve aşağıdaki komutu çalıştırın:
lunch <target>
CATBox'ı oluşturmak için aşağıdaki komutu çalıştırın:
make catbox
Bu komut,
android-catbox.zip
dosyasını/out/host/linux-x86/catbox
dizininde oluşturur. Bu dosya daha sonra testleri çalıştırmak için kullanılabilir.
Ortamı ayarlama
CATBox testlerini yürütmek için gereken ortam kurulumu, CTS'yi kurmaya benzer. Ortamı ayarlamak için aşağıdaki görevlerin her birini tamamlayın:
ADB ve AAPT'yi yükleyin.
JDK'yı yükleyin. Ubuntu için Java Development Kit başlıklı makaleye bakın.
Bellek sınırını artırın. Depolama alanı gereksinimleri başlıklı bölüme bakın.
CATBox'ı kurma ve çalıştırma
Testleri Android cihazlarda çalıştırmak için Tradefed test çerçevesini kullanın. CATBox'ı ayarlamadan önce Ticaret Federasyonu'na Genel Bakış başlıklı makaleyi inceleyin.
CATBox'ı ayarlamak ve çalıştırmak için aşağıdaki bölümlere bakın.
Cihazı kurma
Test planı çalıştırmadan önce cihazınızı ayarlamak için aşağıdaki adımları tamamlayın:
Android Debug Bridge (adb) ve Android Asset Packaging Tool (AAPT) araçlarının en son sürümlerini yüklediğinizden ve bu araçların konumunu makinenizin sistem yoluna eklediğinizden emin olun. Ayrıntılar için ADB ve AAPT başlıklı makaleyi inceleyin.
En az bir cihaz bağlayın ve test edilecek cihazı (DUT) aşağıdaki gibi hazırlayın:
Otomotiv cihazını fabrika ayarlarına sıfırlamak için Ayarlar > Sistem > Sıfırlama Seçenekleri > Tüm verileri sil'e gidin.
Cihazın otomatik olarak yeniden başlatılmasını bekleyin.
adb'nin etkinleştirildiğinden emin olun. Cihazın kullanılabilir olduğunu onaylamak için aşağıdaki komutu çalıştırın:
adb devices
Root'u etkinleştirmek için aşağıdaki komutu çalıştırın:
adb -s DEVICE_SERIAL root
DEVICE_SERIAL
kısmını otomotiv cihazının seri kimliğiyle değiştirin.Kablosuz ağa bağlanın.
CATBox paketini çıkarın
Cihazı kurduktan sonra CATBox paketini açın ve çıkarılan klasöre gidin:
unzip android-catbox.zip
cd android-catbox
CATBox'ta testleri yürütme
CATBox'ı CATBox paketindeki test planlarıyla çalıştırmak için:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
DEVICE_SERIAL
kısmını otomotiv cihazının seri kimliğiyle değiştirin. Ana makineye bağlı birden fazla cihazınız varsa bunları ayırt etmek için DEVICE_SERIAL
kullanın. TEST_PLAN_NAME
yerine çalıştırmak istediğiniz test planının adını yazın.
Mevcut planların en kapsamlı listesini almak için komut satırını kullanın:
./tools/catbox-tradefed list plans | grep -i catbox
Test planı türleri
Aşağıdaki tabloda, kullanılabilen işlevsel test planları gösterilmektedir.
İşlevsel test planları | Açıklama |
---|---|
catbox-functional |
İşlevsel testler. |
catbox-functional-app-info-setting |
Uygulama bilgisi ayarı işlevsel testleri. |
catbox-functional-admin-user-grant-permissions |
Yönetici kullanıcının izin verme işlevsel testleri. |
catbox-functional-app-info-setting-ui-elements |
Uygulama bilgisi ayarı işlevsel testleri. |
catbox-functional-appgrid |
Uygulama ızgarası işlevsel testleri. |
catbox-functional-base |
İşlevsel testlerin listesi. |
catbox-functional-bluetooth-audio |
Bluetooth ses işlevsel testleri. |
catbox-functional-bluetooth-palette |
Durum çubuğu işlevsel testleri. |
catbox-functional-bluetooth-tests |
Mobly kullanılarak yapılan Bluetooth testleri. |
catbox-functional-brightness-palette |
Durum çubuğu işlevsel testleri. |
catbox-functional-btmoped |
Bluetooth Moped tabanlı işlevsel testler. |
catbox-functional-date-time-setting |
Tarih ve saat ayarı işlevsel testleri. |
catbox-functional-dial |
Çevirme işlevsel testleri. |
catbox-functional-display-setting |
Görüntü ayarı işlevsel testleri. |
catbox-functional-driving-optimized-apps |
Kullanıcı deneyimi kısıtlaması işlevsel testleri. |
catbox-functional-enable-developers-option |
Geliştirici seçenekleri işlevsel testlerini etkinleştirin. |
catbox-functional-home |
Evde yapılan işlevsel testler. |
catbox-functional-lock-screen |
Kilit ekranı işlevsel testleri. |
catbox-functional-mediacenter |
Medya Merkezi işlevsel testleri. |
catbox-functional-microphone-recent-apps |
Mikrofon ayarı işlevsel testleri. |
catbox-functional-microphone-setting |
Mikrofon ayarı işlevsel testleri. |
catbox-functional-multiuser |
Çok kullanıcılı işlevsel testler. |
catbox-functional-multiuser-system-user |
Çok kullanıcılı işlevsel testler. |
catbox-functional-navigation-bar |
Gezinme çubuğu işlevsel testleri. |
catbox-functional-network-palette |
Durum çubuğu işlevsel testleri. |
catbox-functional-network-setting |
Ağ ayarı işlevsel testleri. |
catbox-functional-notification |
Bildirim işlevsel testleri. |
catbox-functional-privacy-permission-manager |
Gizlilik uygulama izni ayarı işlevsel testleri. |
catbox-functional-privacy-setting |
Mikrofon ayarı işlevsel testleri. |
catbox-functional-privacy-setting-ui-elements |
Gizlilik ayarı işlevsel testleri. |
catbox-functional-profile-icon |
Profil simgesi çubuğu işlevsel testleri. |
catbox-functional-profiles-icon-list |
Profil simgesi liste testleri. |
catbox-functional-security-setting |
Güvenlik ayarı işlevsel testleri. |
catbox-functional-setting |
İşlevsel testleri ayarlama. |
catbox-functional-settings-location |
Konum testlerini ayarlama. |
catbox-functional-sound-setting |
Ses ayarı işlevsel testleri. |
catbox-functional-status-bar |
Durum çubuğu işlevsel testleri. |
catbox-functional-storage-setting |
Depolama ayarı işlevsel testleri. |
catbox-functional-system-setting |
Sistem ayarı işlevsel testleri. |
catbox-functional-systemui |
Sistem kullanıcı arayüzü testleri. |
catbox-functional-ux-restriction |
Kullanıcı deneyimi kısıtlaması işlevsel testleri. |
catbox-functional-ux-restriction-facet-bar |
Kullanıcı deneyimi kısıtlaması işlevsel testleri. |
Aşağıdaki tabloda CATBox performans test planları listelenmiştir.
Performans testi planları | Açıklama |
---|---|
catbox-performance-cold-app-start-up-dialer |
Çevirici ve Telefon için soğuk uygulama başlatma performansı testi. |
catbox-performance-cold-app-start-up-mediacenter |
Medya Merkezi için soğuk uygulama başlatma performans testi. |
catbox-performance-cold-app-start-up-settings |
Ayarlar için soğuk uygulama başlatma performans testi. |
catbox-performance-create-and-switch-to-new-guest |
Yeni konuğa geçiş için gecikmeyi ölçün. |
catbox-performance-create-and-switch-to-new-user |
Yeni bir yönetici olmayan kullanıcıya geçiş için gecikmeyi ölçün. |
catbox-performance-hot-app-start-up-dialer |
Çevirici ve Telefon için sıcak uygulama başlatma performansı testi. |
catbox-performance-hot-app-start-up-mediacenter |
Medya Merkezi için hızlı uygulama başlatma performans testi. |
catbox-performance-hot-app-start-up-settings |
Ayarlar için sıcak uygulama başlatma performansı testi. |
catbox-performance-jank-appgrid |
Appgrid için performans testi. |
catbox-performance-jank-contact-list |
Kişiler için performans testi. |
catbox-performance-jank-media |
Medya için performans testleri. |
catbox-performance-jank-media-switch-playback |
Medya değiştirme oynatma için performans testi. |
catbox-performance-jank-notifications |
Bildirimler için performans testi. |
catbox-performance-jank-settings |
Ayarlar için performans testi. |
catbox-performance-switch-to-existing-user |
Mevcut bir kullanıcıya geçiş yaparken gecikmeyi ölçün. |
Çok cihazlı ana makine tarafı testini çalıştırma
Çok cihazlı ana makine tarafı testlerinin yürütülmesinde, testi tek bir oturumda çalıştırmak için CATBox kullanılır. Örneğin, 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, apk
öğesini yükler ve ardından test, doğru Python yürütme ortamında çalıştırılır.
CATBox test sonuçlarını inceleme
İşlevsel ve performans testlerinin sonuçları android-catbox/results/latest
konumuna kaydedilir.
Sonuç türü | Konum |
---|---|
Test sonuçları | test_result.xml |
Arıza testi ayrıntıları | test_result_failures_suite.html |
Performans metriği sonuçları | /report-log-files/CatboxPerformanceTests.reportlog.json |
İşlevsel ve performans testleri çalıştırma | /android-catbox/logs/latest |