Bir Kutuda Komple Otomotiv Testleri

Bir Kutuda Komple 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çeklenebilir ve Android Otomotiv İşletim Sistemi (AAOS) uygulamalarınızı test etmek ve doğrulamak için kullandığınız araçlar, altyapı 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 işlevsel ve performans testlerini yürütmek için gereken araçları, çerçeveleri ve testleri sağlar.

Aşağıdaki görüntü, bir CATBox paketinin yüksek seviyeli tasarımını göstermektedir.

CATBox

Şekil 1. CATBox paketi

ticaretle beslenen

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 Federasyonuna Genel Bakış'a bakın.

Otomotiv test çerçevesi

CATBox, otomotiv cihazlarında çeşitli uygulamaları test etmek için API'ler sağlayan Spectatio adlı bir Otomotiv test çerçevesine dayanmaktadı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

Android 12

Android 12, kod adlı S adlı geliştirme dönüm noktası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, kod adlı R adlı geliştirme dönüm noktası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

Android AOSP kodu yerel iş istasyonunda kullanılabilir olduğunda catbox build komutunu kullanın. CATBox paketini yerel olarak oluşturmak için:

  1. Cihaz Hedefi'ni seçin ve aşağıdaki komutu çalıştırın:

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. CATBox oluşturmak için aşağıdaki komutu çalıştırın:

    # Build CATBox
    $ make catbox
    

    Bu komut, /out/host/linux-x86/catbox dizininde daha sonra testleri çalıştırmak için kullanılabilecek android-catbox.zip dosyasını oluşturur.

Ortam kurulumu

CATBox testlerini yürütmek için gereken ortam kurulumu, CTS'yi Ayarlama ile benzerdir. Ortamı kurmak için aşağıdaki görevlerin her birini tamamlayın:

CATBox kurulumu ve yürütülmesi

Testleri Android cihazlarda çalıştırmak için Tradefed test çerçevesini kullanın. CATBox kurulumundan önce, Ticaret Federasyonuna Genel Bakış hakkında bilgi edinin.

CATBox'ı kurmak ve çalıştırmak için aşağıdaki bölümlere bakın.

Cihaz kurulumu

Bir test planı çalıştırmadan önce cihazınızı kurmak için aşağıdaki adımları tamamlayın:

  1. Hem Android Debug Bridge (adb) hem de Android Asset Packaging Tool'un (AAPT) 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 gibi hazırlayın:

    1. Otomotiv cihazını fabrika ayarlarına sıfırlamak için Ayarlar > Sistem > Seçenekleri Sıfırla > Tüm verileri sil öğesine tıklayın.
    2. Cihazın otomatik olarak yeniden başlaması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:

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

      DEVICE_SERIAL otomotiv cihazının Seri Kimliği ile değiştirin.

    5. Wi-Fi'ye bağlanın.

CATBox paketini çıkarın

Cihaz kurulumunu tamamladıktan sonra CATBox paketini açın ve çıkarılan klasöre gidin:

# Extract the CATBox Package
$ unzip android-catbox.zip

# Navigate to extracted CATBox Package
$ cd android-catbox

CATBox'ta testleri yürütün

CATBox paketindeki test planlarıyla CATBox'ı çalıştırmak için aşağıdakileri çalıştırın:

./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL

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

Kullanılabilir test planlarının tam listesini almak için aşağıdakileri çalıştırın:

./tools/catbox-tradefed list plans | grep -i catbox

Aşağıdaki tablo, türe göre mevcut test planlarını gösterir:

Test türü İsim
Fonksiyonel test planları catbox-functional-notification
catbox-functional-setting
catbox-functional-dial
catbox-functional-system-setting
catbox-functional-app-info-setting
catbox-functional-network-setting
catbox-functional-security-setting
catbox-functional-sound-setting
catbox-functional-date-time-setting
catbox-functional-appgrid
catbox-functional-home
catbox-functional-lock-screen
catbox-functional-navigation-bar
catbox-functional-ux-restriction
catbox-functional-bluetooth-audio
Performans testi planları catbox-performance-cold-app-start-up-settings
catbox-performance-hot-app-start-up-settings
catbox-performance-jank-settings
catbox-performance-cold-app-start-up-dialer
catbox-performance-hot-app-start-up-dialer
catbox-performance-jank-contact-list
catbox-performance-jank-notifications
catbox-performance-jank-appgrid
catbox-performance-cold-app-start-up-mediacenter
catbox-performance-hot-app-start-up-mediacenter
catbox-performance-create-and-switch-to-new-guest
catbox-performance-create-and-switch-to-new-user
catbox-performance-create-and-switch-to-precreated-guest
catbox-performance-create-and-switch-to-precreated-user
catbox-performance-switch-to-existing-user

CATBox test sonuçları

Test sonuçları, hem işlevsel hem de performans testi yürütmeleri için android-catbox/results/latest klasörüne kaydedilir.

  • Test sonuçları için test_result.xml bakın.
  • Başarısızlık testleri ayrıntıları için, bkz. test_result_failures_suite.html .
  • Performans ölçüm sonuçları için, report-log-files dizininde CatboxPerformanceTests.reportlog.json bakın.

Günlükler, hem işlevsel hem de performans testi yürütmeleri için android-catbox/logs/latest yolunda kaydedilir.

Çevirme, Bluetooth Ses ve Kişiler listesi çöp testleri gibi bazı testler ek cihaz kurulumu gerektirir.

arama testi

Arama testi, cihaz kurulumu ve çalışma zamanı parametreleri gerektirir. Cihazı kurmak için:

  1. Mobil cihazı Bluetooth aracılığıyla Otomotiv ana ünitesine bağlayın.
  2. Test telefonunda arama testleri yapmak için bir SIM kart bulunduğundan ve mobil ağa bağlı olduğundan emin olun.
  3. Arama testleri, telefonda kayıtlı varsayılan kişileri kullanır. Kişileri telefona yüklemek için contact.vcf'yi kullanın.
  4. COMPANION_SERIAL telefonun Seri Kimliği ile değiştirin ve aşağıdaki komutları çalıştırın:

    # Contacts can be loaded on the phone by pushing the contacts.vcf file on
    the phone and importing it in the Contacts application.
    
    OR
    
    # Importing contacts using adb.
    
    # Push contacts VCF file to phone
    
    $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    
    # Grant Read Permissions
    
    $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts
    android.permission.READ_EXTERNAL_STORAGE
    
    # Import contacts from the VCF file
    
    $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    -a android.intent.action.VIEW com.google.android.contacts
    
    # Then accept the prompts on the UI to load the contacts.
    
Çalışma zamanı parametreleri

Arama testleri, testin yürütülmesi için küçük ve büyük telefon numaralarını kullanır. Arama testleri, arama testleri için kişi adını ve iletişim numarasını da kullanır. Bu bilgileri sağlamak için aşağıdaki parametreleri kullanın:

Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>

Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>

Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >

Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >

Bluetooth ses testi

Bluetooth ses testi için bir cihaz kurmak için:

  1. Telefonda YouTube Müzik uygulamasının yüklü olduğundan ve bir hesapta oturum açtığınızdan emin olun. Değilse, uygulamayı yükleyin ve bir hesapta oturum açın.
  2. Telefonu Bluetooth aracılığıyla manuel olarak otomotiv cihazıyla eşleştirin.
  3. Telefon eşleştirildiğinde, telefonda bir şarkı çalın ve ardından testi yürütmeye başlayın.

Kişi listesi çöp testi

Kişi listesi tarama testi için bir cihaz kurmak için:

  1. Testin istenmeyen metrikleri toplamak üzere Kişiler listesinde ilerleyebilmesi için telefonun birkaç kişisi olduğundan emin olun.
  2. Telefonu Bluetooth aracılığıyla manuel olarak otomotiv cihazıyla eşleştirin.
  3. Telefon eşleştirildiğinde, kişilere cihazdan erişilebilir.