Completa i test automobilistici in una scatola

Complete Automotive Tests in a Box (CATBox) è un pacchetto open source che fornisce i framework e gli strumenti necessari per semplificare ed eseguire test automobilistici con una configurazione minima. CATBox è scalabile e compatibile con gli strumenti, l'infrastruttura e i test utilizzati per testare e convalidare le implementazioni del sistema operativo Android Automotive (AAOS). Di conseguenza, puoi fornire prodotti di alta qualità al mercato.

Progettazione e realizzazione CATBox

La suite di test CATBox fornisce gli strumenti, i framework e i test necessari per eseguire test funzionali e delle prestazioni su un dispositivo target automobilistico.

L'immagine seguente illustra una progettazione di alto livello di un pacchetto CATBox.

CATBox

Figura 1. Pacchetto CATBox

Commerciato

Tradefed è un framework di test continui open source utilizzato per eseguire test su dispositivi Android. Per i dettagli, vedere Panoramica di Trade Federation .

Quadro di prova automobilistico

CATBox si basa su un framework di test automobilistico chiamato Spectatio, che fornisce API per testare varie applicazioni su dispositivi automobilistici. È basato su UI Automator , un framework di test open source, che fornisce un set di API per creare test dell'interfaccia utente che interagiscono con le applicazioni utente e di sistema.

Download della suite di test CATBox

Android 12

Android 12 è il rilascio della pietra miliare dello sviluppo denominata in codice S. Utilizza i seguenti collegamenti per scaricare le suite di test CATBox per Android 12:

Android 11

Android 11 è il rilascio della pietra miliare dello sviluppo denominata in codice R. Utilizza i seguenti collegamenti per scaricare le suite di test CATBox per Android 11:

Costruisci CATBox

Utilizzare il comando catbox build una volta che il codice Android AOSP è disponibile sulla workstation locale. Per creare il pacchetto CATBox in locale:

  1. Seleziona Device Target ed esegui il comando seguente:

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. Per compilare CATBox, eseguire il comando seguente:

    # Build CATBox
    $ make catbox
    

    Questo comando crea il file android-catbox.zip nella directory /out/host/linux-x86/catbox , che può quindi essere utilizzato per eseguire i test.

Configurazione dell'ambiente

La configurazione dell'ambiente richiesta per eseguire i test CATBox è simile a Configurazione di CTS . Per configurare l'ambiente, completare ciascuna delle seguenti attività:

Configurazione ed esecuzione di CATBox

Utilizza il framework di test Tradefed per eseguire i test sui dispositivi Android. Prima di configurare CATBox, familiarizza con la Panoramica della Trade Federation .

Per configurare ed eseguire CATBox, vedere le sezioni seguenti.

Configurazione del dispositivo

Prima di eseguire un piano di test, completare i seguenti passaggi per configurare il dispositivo:

  1. Assicurati di aver installato le versioni recenti sia di Android Debug Bridge (adb) che di Android Asset Packaging Tool (AAPT) e di aver aggiunto la posizione di questi strumenti al percorso di sistema della tua macchina. Per i dettagli, vedere ADB e AAPT .

  2. Collegare almeno un dispositivo e preparare il dispositivo in prova (DUT) come segue:

    1. Per ripristinare le impostazioni di fabbrica del dispositivo automobilistico, fare clic su Impostazioni > Sistema > Opzioni di ripristino > Cancella tutti i dati .
    2. Attendi il riavvio automatico del dispositivo.
    3. Assicurati che adb sia abilitato. Per confermare la disponibilità del dispositivo, eseguire il comando seguente:

      $ adb devices
      
    4. Per abilitare il root, eseguire il comando seguente:

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

      Sostituire DEVICE_SERIAL con l'ID seriale per il dispositivo automobilistico.

    5. Connettiti al Wi-Fi.

Estrarre il pacchetto CATBox

Dopo aver completato la configurazione del dispositivo, decomprimi il pacchetto CATBox e vai alla cartella estratta:

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

# Navigate to extracted CATBox Package
$ cd android-catbox

Eseguire i test nel CATBox

Per eseguire CATBox con i piani di test nel pacchetto CATBox, eseguire quanto segue:

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

Sostituire DEVICE_SERIAL con l'ID seriale per il dispositivo automobilistico. Se hai più dispositivi collegati alla macchina host, usa DEVICE_SERIAL per distinguerli. Sostituisci TEST_PLAN_NAME con il nome del piano di test che desideri eseguire.

Per ottenere un elenco completo dei piani di test disponibili, eseguire quanto segue:

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

La tabella seguente mostra i piani di test disponibili per tipo:

Tipo di prova Nome
Piani di test funzionali 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
Piani di test delle prestazioni 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

Risultati del test CATBox

I risultati dei test vengono salvati nella cartella android-catbox/results/latest per le esecuzioni di test sia funzionali che prestazionali.

  • Per i risultati dei test, fare riferimento a test_result.xml .
  • Per i dettagli sui test di errore, vedere test_result_failures_suite.html .
  • Per i risultati delle metriche delle prestazioni, vedere CatboxPerformanceTests.reportlog.json nella directory report-log-files .

I log vengono salvati nel percorso android-catbox/logs/latest per le esecuzioni di test sia funzionali che prestazionali.

Alcuni test come Dial, Bluetooth Audio e Rubrica jank test richiedono una configurazione aggiuntiva del dispositivo.

Prova del quadrante

Il test di composizione richiede la configurazione del dispositivo e i parametri di runtime. Per configurare il dispositivo:

  1. Collegare il dispositivo mobile all'unità principale Automotive tramite Bluetooth.
  2. Assicurarsi che il telefono di prova contenga una scheda SIM per eseguire i test di composizione e sia connesso alla rete mobile.
  3. I test di composizione utilizzano i contatti predefiniti memorizzati sul telefono. Utilizzare il file Contacts.vcf per caricare i contatti sul telefono.
  4. Sostituisci COMPANION_SERIAL con l'ID seriale per il telefono ed esegui i seguenti comandi:

    # 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.
    
Parametri di runtime

I test di composizione utilizzano numeri di telefono piccoli e grandi per l'esecuzione del test. I test di composizione utilizzano anche il nome del contatto e il numero di contatto per i test di ricerca. Utilizzare i seguenti parametri per fornire queste informazioni:

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 >

Prova audio Bluetooth

Per configurare un dispositivo per il test audio Bluetooth:

  1. Assicurati che l'app YouTube Music sia installata sul telefono e di aver effettuato l'accesso a un account. In caso contrario, installa l'app e accedi a un account.
  2. Associa manualmente il telefono al dispositivo automobilistico tramite Bluetooth.
  3. Una volta accoppiato il telefono, riproduci un brano sul telefono e inizia a eseguire il test.

Jank test dell'elenco dei contatti

Per configurare un dispositivo per il jank test dell'elenco Contatti:

  1. Assicurati che il telefono abbia diversi contatti in modo che il test possa scorrere l'elenco Contatti per raccogliere le metriche jak.
  2. Associa manualmente il telefono al dispositivo automobilistico tramite Bluetooth.
  3. Una volta accoppiato il telefono, è possibile accedere ai contatti sul dispositivo.