Complete Automotive Tests in a Box (CATBox) è un pacchetto open source che fornisce i framework e gli strumenti necessari per semplificare ed eseguire test nel settore auto e motori con una configurazione minima. CATBox è scalabile e compatibile con gli strumenti, l'infrastruttura e i test che utilizzi per testare e convalidare le implementazioni di Android Automotive OS (AAOS). Di conseguenza, puoi offrire prodotti di alta qualità sul marketplace.
Progettazione e implementazione di CATBox
La suite di test CATBox fornisce gli strumenti, i framework e i test necessari per eseguire test funzionali e di prestazioni su un dispositivo di destinazione per auto e motori e con l'utilizzo di un dispositivo associato.
La seguente immagine illustra un design di alto livello di un pacchetto CATBox.
Figura 1. Pacchetto CATBox
Tradefed
Tradefed è un framework di test continuo open source utilizzato per eseguire test su dispositivi Android. Per maggiori dettagli, vedi Panoramica di Trade Federation.
Automotive test framework
CATBox si basa su un framework di test per auto e motori chiamato Spectatio, che fornisce API per testare diverse app su dispositivi per auto e motori. È basato su UI Automator, un framework di test open source, che fornisce un insieme di API per creare test dell'interfaccia utente che interagiscono con le applicazioni utente e di sistema.
Download della suite di test CATBox
Android 14
Android Automotive 14 è la release del traguardo di sviluppo denominato U. Utilizza i seguenti link per scaricare le suite di test CATBox per Android 14:
Android 12
Android 12 è la release del traguardo di sviluppo con nome in codice S. Utilizza i seguenti link per scaricare le suite di test CATBox per Android 12:
Android 11
Android 11 è la release del traguardo di sviluppo con nome in codice R. Utilizza i seguenti link per scaricare le suite di test CATBox per Android 11:
Crea CATBox
Utilizza il comando catbox
build quando il codice AOSP di Android è disponibile sulla
workstation locale.
Per compilare il pacchetto CATBox localmente:
Seleziona il target dispositivo in base all'architettura del dispositivo ed esegui il seguente comando:
lunch <target>
Per compilare CATBox, esegui il seguente comando:
make catbox
Questo comando crea il file
android-catbox.zip
nella directory/out/host/linux-x86/catbox
, che può 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, completa ciascuna delle seguenti attività:
Installa ADB e AAPT.
Installa JDK. Consulta Java Development Kit per Ubuntu.
Aumenta il limite di memoria. Consulta i requisiti di archiviazione.
Configurare ed eseguire CATBox
Utilizza il framework di test Tradefed per eseguire i test sui dispositivi Android. Prima di configurare CATBox, consulta la Panoramica di Trade Federation.
Per configurare ed eseguire CATBox, consulta le sezioni seguenti.
Configura il dispositivo
Prima di eseguire un piano di test, completa i seguenti passaggi per configurare il dispositivo:
Assicurati di aver installato le versioni recenti di Android Debug Bridge (adb) e Android Asset Packaging Tool (AAPT), nonché di aver aggiunto la posizione di questi strumenti al percorso di sistema del computer. Per maggiori dettagli, consulta ADB e AAPT.
Collega almeno un dispositivo e prepara il dispositivo in prova (DUT) come segue:
Per ripristinare i dati di fabbrica del dispositivo per auto e motori, vai a Impostazioni > Sistema > Opzioni di reimpostazione > Cancella tutti i dati.
Attendi che il dispositivo si riavvii automaticamente.
Assicurati che adb sia attivo. Per verificare che il dispositivo sia disponibile, esegui questo comando:
adb devices
Per attivare il ruolo root, esegui il seguente comando:
adb -s DEVICE_SERIAL root
Sostituisci
DEVICE_SERIAL
con l'ID di serie del dispositivo auto e motori.Connettiti alla rete Wi-Fi.
Estrai il pacchetto CATBox
Dopo aver configurato il dispositivo, decomprimere il pacchetto CATBox e andare alla cartella estratta:
unzip android-catbox.zip
cd android-catbox
Esegui i 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 di serie del
dispositivo auto e motori. Se hai più dispositivi connessi alla macchina host,
utilizza DEVICE_SERIAL
per distinguerli. Sostituisci
TEST_PLAN_NAME
con il nome del piano di test che vuoi 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 |
Test funzionali delle impostazioni relative alle informazioni sull'app. |
catbox-functional-admin-user-grant-permissions |
Test funzionali per l'assegnazione delle autorizzazioni agli utenti amministratori. |
catbox-functional-app-info-setting-ui-elements |
Test funzionali delle impostazioni relative alle informazioni sull'app. |
catbox-functional-appgrid |
Test funzionali della griglia di app. |
catbox-functional-base |
Elenco dei test funzionali. |
catbox-functional-bluetooth-audio |
Test di funzionalità 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 per i ciclomotori. |
catbox-functional-date-time-setting |
Test funzionali di impostazione di data e ora. |
catbox-functional-dial |
Test di funzionalità del quadrante. |
catbox-functional-display-setting |
Test funzionali delle impostazioni di visualizzazione. |
catbox-functional-driving-optimized-apps |
Test funzionali delle limitazioni dell'esperienza utente. |
catbox-functional-enable-developers-option |
Attiva i test funzionali delle opzioni sviluppatore. |
catbox-functional-home |
Test di funzionalità della casa. |
catbox-functional-lock-screen |
Test funzionali della schermata di blocco. |
catbox-functional-mediacenter |
Test funzionali di Media Center. |
catbox-functional-microphone-recent-apps |
Test funzionali delle impostazioni del microfono. |
catbox-functional-microphone-setting |
Test funzionali delle impostazioni 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 delle impostazioni di rete. |
catbox-functional-notification |
Test funzionali delle notifiche. |
catbox-functional-privacy-permission-manager |
Test funzionali di impostazione dell'autorizzazione per le app di privacy. |
catbox-functional-privacy-setting |
Test funzionali delle impostazioni del microfono. |
catbox-functional-privacy-setting-ui-elements |
Test funzionali delle impostazioni della privacy. |
catbox-functional-profile-icon |
Test funzionali della barra delle icone del profilo. |
catbox-functional-profiles-icon-list |
Test dell'elenco di icone dei profili. |
catbox-functional-security-setting |
Test funzionali delle impostazioni di sicurezza. |
catbox-functional-setting |
Impostazione dei test funzionali. |
catbox-functional-settings-location |
Impostazione dei test di geolocalizzazione. |
catbox-functional-sound-setting |
Test funzionali delle impostazioni audio. |
catbox-functional-status-bar |
Test funzionali della barra di stato. |
catbox-functional-storage-setting |
Test funzionali delle impostazioni di archiviazione. |
catbox-functional-system-setting |
Test funzionali delle impostazioni di sistema. |
catbox-functional-systemui |
Test dell'interfaccia utente di sistema. |
catbox-functional-ux-restriction |
Test funzionali relativi alle limitazioni dell'esperienza utente. |
catbox-functional-ux-restriction-facet-bar |
Test funzionali delle limitazioni dell'esperienza utente. |
La tabella seguente elenca i piani di test del rendimento di CATBox.
Piani di test delle prestazioni | Descrizione |
---|---|
catbox-performance-cold-app-start-up-dialer |
Test delle prestazioni all'avvio a freddo delle app per Telefono e Dialer. |
catbox-performance-cold-app-start-up-mediacenter |
Test delle prestazioni all'avvio a freddo dell'app per Media Center. |
catbox-performance-cold-app-start-up-settings |
Test delle prestazioni di avvio a freddo dell'app 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 di prestazioni relativo all'avvio delle app calde per Telefono e Dialer. |
catbox-performance-hot-app-start-up-mediacenter |
Test delle prestazioni all'avvio delle app calde per Media Center. |
catbox-performance-hot-app-start-up-settings |
Test delle prestazioni di avvio dell'app calda per le Impostazioni. |
catbox-performance-jank-appgrid |
Test delle prestazioni per Appgrid. |
catbox-performance-jank-contact-list |
Test delle prestazioni per Contatti. |
catbox-performance-jank-media |
Test di rendimento per i contenuti multimediali. |
catbox-performance-jank-media-switch-playback |
Test di prestazioni per la riproduzione dei contenuti multimediali. |
catbox-performance-jank-notifications |
Test di rendimento per le notifiche. |
catbox-performance-jank-settings |
Test di rendimento 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 dei test lato host multidispositivo utilizza CATBox per eseguire il test
in una 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 apk
e il test viene eseguito nell'ambiente di esecuzione Python corretto.
Esamina i risultati del test CATBox
I risultati delle esecuzioni dei test di funzionalità e prestazioni vengono salvati in
android-catbox/results/latest
.
Tipo di risultato | Posizione |
---|---|
Risultati del test | test_result.xml |
Dettagli dei test di errore | test_result_failures_suite.html |
Risultati delle metriche sul rendimento | /report-log-files/CatboxPerformanceTests.reportlog.json |
Esecuzioni di test funzionali e delle prestazioni | /android-catbox/logs/latest |