Bir Kutuda Tam Otomotiv Testleri (CATBox), otomotiv testlerini minimum yapılandırmayla kolaylaştırmak ve yürütmek için gereken çerçeveleri ve araçları sağlayan açık kaynaklı bir pakettir. CATBox ölçeklenebilirdir ve Android Automotive OS (AAOS) uygulamalarınızı test etmek ve doğrulamak için kullandığınız araçlarla, altyapıyla ve testlerle uyumludur. Sonuç olarak, pazara yüksek kaliteli ürünler sunabilirsiniz.
CATBox tasarımı ve uygulaması
CATBox test paketi, bir otomotiv hedef cihazında ve yardımcı bir cihaz kullanırken işlevsellik ve performans testlerini yürütmek için gereken araçları, çerçeveleri ve testleri sağlar.
Aşağıdaki resimde bir CATBox paketinin üst düzey tasarımı gösterilmektedir.
Şekil 1. CATBox paketi
Ticaret beslemeli
Tradefed, Android cihazlarda testler yürütmek için kullanılan açık kaynaklı bir sürekli test çerçevesidir. Ayrıntılar için bkz. Ticaret Federasyonuna Genel Bakış .
Otomotiv test çerçevesi
CATBox, otomotiv cihazlarındaki çeşitli uygulamaları test etmek için API'ler sağlayan Spectatio adlı bir Otomotiv test çerçevesini temel alır. Kullanıcı ve sistem uygulamalarıyla etkileşime giren UI testleri oluşturmak için bir dizi API sağlayan açık kaynaklı bir test çerçevesi olan UI Automator'ın üzerine inşa edilmiştir.
CATBox test paketi indirmeleri
Android14
Android Automotive 14, U kod adlı geliştirme kilometre taşının sürümüdür. Android 14 için CATBox test paketlerini indirmek için aşağıdaki bağlantıları kullanın:
Android 12
Android 12, S kod adlı geliştirme kilometre taşının sürümüdür. Android 12 için CATBox test paketlerini indirmek için aşağıdaki bağlantıları kullanın:
Android 11
Android 11, R kod adlı geliştirme kilometre taşının sürümüdür. Android 11 için CATBox test paketlerini indirmek için aşağıdaki bağlantıları kullanın:
CATBox'ı oluşturun
Yerel iş istasyonunda Android AOSP kodu mevcut olduğunda catbox
build komutunu kullanın.
CATBox paketini yerel olarak oluşturmak için:
Cihaz mimarisine göre Cihaz Hedefini 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
/out/host/linux-x86/catbox
dizinindeandroid-catbox.zip
dosyasını oluşturur ve bu dosya daha sonra testleri çalıştırmak için kullanılabilir.
Ortamı ayarlayın
CATBox testlerini yürütmek için gereken ortam kurulumu CTS Kurulumuna 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 Geliştirme Kiti'ne bakın.
Bellek sınırını artırın. Bkz. Depolama gereksinimleri .
CATBox'ı kurun ve çalıştırın
Testleri Android cihazlarda çalıştırmak için Tradefed test çerçevesini kullanın. CATBox'ı kurmadan önce Ticaret Federasyonuna Genel Bakış'a bakın.
CATBox'ı kurmak ve çalıştırmak için aşağıdaki bölümlere bakın.
Cihazı kurma
Bir test planını çalıştırmadan önce cihazınızı ayarlamak için aşağıdaki adımları tamamlayın:
Hem Android Debug Bridge'in (adb) hem de Android Asset Packaging Tool'un (AAPT) 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 bkz. ADB ve AAPT .
En az bir cihaz bağlayın ve Test Edilen Cihaz'ı (DUT) aşağıdaki şekilde 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 seçeneğine gidin.
Cihazın otomatik olarak yeniden başlatılmasını bekleyin.
Adb'nin etkin olduğundan emin olun. Cihazın kullanılabilir olduğunu doğrulamak için aşağıdaki komutu çalıştırın:
adb devices
Kökü etkinleştirmek için aşağıdaki komutu çalıştırın:
adb -s DEVICE_SERIAL root
DEVICE_SERIAL
değerini otomotiv cihazının Seri Kimliği ile değiştirin.Wi-Fi'ye bağlanın.
CATBox paketini çıkarın
Cihazı kurduktan sonra CATBox paketini açın ve çıkartılan klasöre gidin:
unzip android-catbox.zip
cd android-catbox
CATBox'ta testler yürütün
CATBox'ı CATBox paketindeki test planlarıyla çalıştırmak için:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
DEVICE_SERIAL
değerini otomotiv cihazının Seri Kimliği ile 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 eksiksiz listesine ulaşmak için komut satırını kullanın:
./tools/catbox-tradefed list plans | grep -i catbox
Test planı türleri
Aşağıdaki tabloda mevcut fonksiyonel test planları gösterilmektedir.
Fonksiyonel test planları | Tanım |
---|---|
catbox-functional | Fonksiyonel testler. |
catbox-functional-app-info-setting | Uygulama bilgisi ayarı işlevsel testler. |
catbox-functional-admin-user-grant-permissions | Yönetici kullanıcı izinleri işlevsel testler verir. |
catbox-functional-app-info-setting-ui-elements | Uygulama bilgisi ayarı işlevsel testler. |
catbox-functional-appgrid | Uygulama ızgarası işlevsel testleri. |
catbox-functional-base | Fonksiyonel testlerin listesi. |
catbox-functional-bluetooth-audio | Bluetooth ses İşlevsel testler. |
catbox-functional-bluetooth-palette | Durum çubuğu işlevsel testleri. |
catbox-functional-bluetooth-tests | Mobly kullanarak 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ı fonksiyonel testleri. |
catbox-functional-dial | Fonksiyonel testleri arayın. |
catbox-functional-display-setting | Ekran ayarı fonksiyonel testleri. |
catbox-functional-driving-optimized-apps | UX kısıtlama işlevsel testleri. |
catbox-functional-enable-developers-option | Geliştiricilerin seçenek işlevsel testlerini etkinleştirin. |
catbox-functional-home | Ev fonksiyonel testleri. |
catbox-functional-lock-screen | Kilit ekranı işlevsel testleri. |
catbox-functional-mediacenter | Medya Merkezi işlevsel testleri. |
catbox-functional-microphone-recent-apps | Mikrofon ayarı fonksiyonel testleri. |
catbox-functional-microphone-setting | Mikrofon ayarı fonksiyonel testleri. |
catbox-functional-multiuser | Çok kullanıcılı fonksiyonel testler. |
catbox-functional-multiuser-system-user | Çok kullanıcılı fonksiyonel 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 fonksiyonel testleri. |
catbox-functional-privacy-permission-manager | Gizlilik Uygulama İzni ayarı işlevsel testler. |
catbox-functional-privacy-setting | Mikrofon ayarı fonksiyonel testleri. |
catbox-functional-privacy-setting-ui-elements | Gizlilik ayarı işlevsel testleri. |
catbox-functional-profile-icon | Profil Simge Çubuğu işlevsel testleri. |
catbox-functional-profiles-icon-list | Profiller simge listesi testleri. |
catbox-functional-security-setting | Güvenlik ayarı işlevsel testleri. |
catbox-functional-setting | Fonksiyonel testlerin ayarlanması. |
catbox-functional-settings-location | Konum Testlerinin Ayarlanması. |
catbox-functional-sound-setting | Ses ayarı fonksiyonel 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ı fonksiyonel testleri. |
catbox-functional-systemui | Sistem kullanıcı arayüzü testleri. |
catbox-functional-ux-restriction | UX kısıtlama işlevsel testleri. |
catbox-functional-ux-restriction-facet-bar | UX kısıtlama işlevsel testleri. |
Aşağıdaki tabloda CATBox performans testi planları listelenmektedir.
Performans testi planları | Tanım |
---|---|
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 | Media Center 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 bir misafire geçmek için gecikmeyi ölçün. |
catbox-performance-create-and-switch-to-new-user | Yönetici olmayan yeni bir kullanıcıya geçiş yapmak 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 | Media Center için sıcak 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 geçişi 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ş yapmak için gecikmeyi ölçün. |
Çok cihazlı ana bilgisayar tarafı testini çalıştırın
Çok cihazlı ana bilgisayar tarafı testlerinin yürütülmesi, testi tek oturumda çalıştırmak için CATBox'ı kullanı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
yükler ve ardından test doğru Python yürütme ortamında çalıştırılır.
CATBox test sonuçlarını inceleyin
İşlevsel ve performans testi çalıştırmalarının sonuçları android-catbox/results/latest
dosyasına kaydedilir.
Sonuç türü | Konum |
---|---|
Test sonuçları | test_result.xml |
Başarısızlık testleri ayrıntıları | test_result_failures_suite.html |
Performans ölçüm sonuçları | /report-log-files/CatboxPerformanceTests.reportlog.json |
İşlevsel ve performans testi çalıştırmaları | /android-catbox/logs/latest |