Bir Kutuda Komple Otomotiv Testleri

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.

CATBox

Ş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:

  1. Cihaz mimarisine göre Cihaz Hedefini seçin ve aşağıdaki komutu çalıştırın:

    lunch <target>
    
  2. CATBox'ı oluşturmak için aşağıdaki komutu çalıştırın:

    make catbox
    

    Bu komut /out/host/linux-x86/catbox dizininde android-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:

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:

  1. 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 .

  2. En az bir cihaz bağlayın ve Test Edilen Cihaz'ı (DUT) aşağıdaki şekilde hazırlayın:

    1. 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.

    2. Cihazın otomatik olarak yeniden başlatılmasını bekleyin.

    3. 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
      
    4. 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.

    5. 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