Completa i test automobilistici in una scatola

Complete Automotive Tests in a Box (CATBox) è un pacchetto open source che fornisce le strutture 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 implementazione di CATBox

La suite di test CATBox fornisce gli strumenti, le strutture e i test necessari per eseguire test funzionali e prestazionali su un dispositivo di destinazione automobilistico e durante l'utilizzo di un dispositivo associato.

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

CATBox

Figura 1. Pacchetto CATBox

Tradefed

Tradefed è un framework di test continuo open source utilizzato per eseguire test su dispositivi Android. Per i dettagli, vedere Panoramica della Federazione dei Mercanti .

Quadro di prova automobilistico

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

Download della suite di test CATBox

Androide 14

Android Automotive 14 è il rilascio della pietra miliare dello sviluppo con nome in codice U. Utilizza i seguenti collegamenti per scaricare le suite di test CATBox per Android 14:

Androide 12

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

Androide 11

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

Costruisci CATBox

Utilizza il comando catbox build una volta che il codice AOSP Android è disponibile sulla workstation locale.

Per creare il pacchetto CATBox localmente:

  1. Seleziona il dispositivo di destinazione in base all'architettura del dispositivo ed esegui il comando seguente:

    lunch <target>
    
  2. Per creare CATBox, esegui il seguente comando:

    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.

Configura l'ambiente

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

Configura ed esegui CATBox

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

Per configurare ed eseguire CATBox, vedere le sezioni seguenti.

Configura il dispositivo

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

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

  2. Collegare almeno un dispositivo e preparare il Device Under Test (DUT) come segue:

    1. Per ripristinare le impostazioni di fabbrica del dispositivo automobilistico, vai su Impostazioni > Sistema > Opzioni di ripristino > Cancella tutti i dati .

    2. Attendi il riavvio automatico del dispositivo.

    3. Assicurati che adb sia abilitato. Per verificare che il dispositivo sia disponibile, esegui il comando seguente:

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

      adb -s DEVICE_SERIAL root
      

      Sostituisci DEVICE_SERIAL con l'ID seriale del dispositivo automobilistico.

    5. Connettiti alla rete Wi-Fi.

Estrai il pacchetto CATBox

Dopo aver configurato il dispositivo, decomprimi il pacchetto CATBox e vai nella cartella estratta:

unzip android-catbox.zip
cd android-catbox

Esegui test in CATBox

Per eseguire CATBox con i piani di test nel pacchetto CATBox:

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

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

Per ottenere l'elenco più completo dei piani disponibili, utilizza la riga di comando:

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

Tipi di piani di test

La tabella seguente mostra i piani di test funzionali disponibili.

Piani di test funzionali Descrizione
catbox-functional Test funzionali.
catbox-functional-app-info-setting Informazioni sull'app per l'impostazione dei test funzionali.
catbox-functional-admin-user-grant-permissions L'utente amministratore concede le autorizzazioni ai test funzionali.
catbox-functional-app-info-setting-ui-elements Informazioni sull'app per l'impostazione dei test funzionali.
catbox-functional-appgrid Test funzionali della griglia dell'app.
catbox-functional-base Elenco dei test funzionali.
catbox-functional-bluetooth-audio Test funzionali audio Bluetooth.
catbox-functional-bluetooth-palette Test funzionali della barra di stato.
catbox-functional-bluetooth-tests Test Bluetooth utilizzando Mobly.
catbox-functional-brightness-palette Test funzionali della barra di stato.
catbox-functional-btmoped Test funzionali basati su Bluetooth Ciclomotore.
catbox-functional-date-time-setting Impostazione data e ora test funzionali.
catbox-functional-dial Effettuare test funzionali.
catbox-functional-display-setting Display impostazione test funzionali.
catbox-functional-driving-optimized-apps Test funzionali di restrizione UX.
catbox-functional-enable-developers-option Abilita l'opzione sviluppatori test funzionali.
catbox-functional-home Test funzionali domestici.
catbox-functional-lock-screen Test funzionali della schermata di blocco.
catbox-functional-mediacenter Test funzionali di Media Center.
catbox-functional-microphone-recent-apps Prove funzionali di impostazione del microfono.
catbox-functional-microphone-setting Prove funzionali di impostazione del microfono.
catbox-functional-multiuser Test funzionali multiutente.
catbox-functional-multiuser-system-user Test funzionali multiutente.
catbox-functional-navigation-bar Test funzionali della barra di navigazione.
catbox-functional-network-palette Test funzionali della barra di stato.
catbox-functional-network-setting Test funzionali di impostazione della rete.
catbox-functional-notification Test funzionali di notifica.
catbox-functional-privacy-permission-manager Privacy App Autorizzazione impostazione test funzionali.
catbox-functional-privacy-setting Prove funzionali di impostazione del microfono.
catbox-functional-privacy-setting-ui-elements Test funzionali di impostazione della privacy.
catbox-functional-profile-icon Test funzionali della barra delle icone del profilo.
catbox-functional-profiles-icon-list Test dell'elenco delle icone dei profili.
catbox-functional-security-setting Test funzionali di impostazione della sicurezza.
catbox-functional-setting Impostazione test funzionali.
catbox-functional-settings-location Impostazione dei test sulla posizione.
catbox-functional-sound-setting Prove funzionali di impostazione del suono.
catbox-functional-status-bar Test funzionali della barra di stato.
catbox-functional-storage-setting Test funzionali impostazione storage.
catbox-functional-system-setting Test funzionali di impostazione del sistema.
catbox-functional-systemui Test dell'interfaccia utente del sistema.
catbox-functional-ux-restriction Test funzionali di restrizione UX.
catbox-functional-ux-restriction-facet-bar Test funzionali di restrizione UX.

La tabella seguente elenca i piani di test delle prestazioni CATBox.

Piani di test delle prestazioni Descrizione
catbox-performance-cold-app-start-up-dialer Test delle prestazioni di avvio dell'app a freddo per Dialer e Telefono.
catbox-performance-cold-app-start-up-mediacenter Test delle prestazioni di avvio dell'app a freddo per Media Center.
catbox-performance-cold-app-start-up-settings Test delle prestazioni di avvio dell'app a freddo per le impostazioni.
catbox-performance-create-and-switch-to-new-guest Misura la latenza per passare a un nuovo ospite.
catbox-performance-create-and-switch-to-new-user Misura la latenza per passare a un nuovo utente non amministratore.
catbox-performance-hot-app-start-up-dialer Test delle prestazioni di avvio dell'app hot per Dialer e Telefono.
catbox-performance-hot-app-start-up-mediacenter Test delle prestazioni di avvio dell'app hot per Media Center.
catbox-performance-hot-app-start-up-settings Test delle prestazioni di avvio dell'app hot per Impostazioni.
catbox-performance-jank-appgrid Test delle prestazioni per Appgrid.
catbox-performance-jank-contact-list Test delle prestazioni per i contatti.
catbox-performance-jank-media Test delle prestazioni per i media.
catbox-performance-jank-media-switch-playback Test delle prestazioni per la riproduzione con cambio multimediale.
catbox-performance-jank-notifications Test delle prestazioni per le notifiche.
catbox-performance-jank-settings Test delle prestazioni per le Impostazioni.
catbox-performance-switch-to-existing-user Misura la latenza per passare a un utente esistente.

Esegui il test lato host multidispositivo

L'esecuzione di test lato host multidispositivo utilizza CATBox per eseguire il test in un'unica sessione. Ad esempio, 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 installa l' apk e quindi il test viene eseguito nel corretto ambiente di esecuzione Python.

Esamina i risultati dei test CATBox

I risultati delle esecuzioni dei test funzionali e prestazionali vengono salvati in android-catbox/results/latest .

Tipo di risultato Posizione
Risultati del test test_result.xml
Dettagli dei test di fallimento test_result_failures_suite.html
Risultati delle misurazioni delle prestazioni /report-log-files/CatboxPerformanceTests.reportlog.json
Esecuzioni di test funzionali e prestazionali /android-catbox/logs/latest