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 che utilizzi per testare e convalidare le implementazioni di Android Automotive OS (AAOS). Di conseguenza, puoi fornire prodotti di alta qualità al 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 delle prestazioni su un dispositivo di destinazione per il settore automobilistico e durante l'utilizzo di un dispositivo complementare.
La seguente immagine illustra una progettazione 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.
Framework di test per il settore automobilistico
CATBox si basa su un framework di test per il settore automobilistico chiamato Spectatio, che fornisce API per testare varie app su dispositivi per il settore automobilistico. Si basa 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 è il rilascio del traguardo di sviluppo con nome in codice 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 codice della milestone di sviluppo con nome in codice R. Utilizza i seguenti link per scaricare le suite di test CATBox per Android 11:
Build CATBox
Utilizza il comando di compilazione catbox
una volta che il codice AOSP Android è disponibile sulla workstation locale.
Per creare il pacchetto CATBox localmente:
Seleziona la destinazione del dispositivo in base all'architettura del dispositivo ed esegui il comando seguente:
lunch <target>
Per creare CATBox, esegui questo 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 ognuna delle seguenti attività:
Installa ADB e AAPT.
Installa JDK. Vedi Java Development Kit per Ubuntu.
Aumenta il limite di memoria. Vedi 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.
Configurare 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 di Android Asset Packaging Tool (AAPT), e di aver aggiunto la posizione di questi strumenti al percorso di sistema del tuo computer. Per maggiori dettagli, vedi ADB e AAPT.
Collega almeno un dispositivo e prepara il dispositivo in test (DUT) come segue:
Per ripristinare i dati di fabbrica del dispositivo per auto, vai a Impostazioni > Sistema > Opzioni di ripristino > Cancella tutti i dati.
Attendi il riavvio automatico del dispositivo.
Assicurati che adb sia abilitato. Per verificare che il dispositivo sia disponibile, esegui questo comando:
adb devices
Per abilitare l'accesso root, esegui questo comando:
adb -s DEVICE_SERIAL root
Sostituisci
DEVICE_SERIAL
con l'ID seriale del dispositivo per auto.Connettiti alla rete Wi-Fi.
Estrai il pacchetto CATBox
Dopo aver configurato il dispositivo, decomprimi il pacchetto CATBox e vai alla 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 per auto. 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 dell'impostazione relativa alle informazioni sulle app. |
catbox-functional-admin-user-grant-permissions |
Test funzionali per la concessione delle autorizzazioni dell'utente amministratore. |
catbox-functional-app-info-setting-ui-elements |
Test funzionali dell'impostazione relativa alle informazioni sulle app. |
catbox-functional-appgrid |
Test funzionali della griglia delle app. |
catbox-functional-base |
Elenco dei test funzionali. |
catbox-functional-bluetooth-audio |
Test funzionali dell'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 ciclomotore Bluetooth. |
catbox-functional-date-time-setting |
Test funzionali delle impostazioni di data e ora. |
catbox-functional-dial |
Test funzionali di composizione. |
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 funzionali della casa. |
catbox-functional-lock-screen |
Test funzionali della schermata di blocco. |
catbox-functional-mediacenter |
Test funzionali del Media Center. |
catbox-functional-microphone-recent-apps |
Test funzionali dell'impostazione del microfono. |
catbox-functional-microphone-setting |
Test funzionali dell'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 delle impostazioni di rete. |
catbox-functional-notification |
Test funzionali delle notifiche. |
catbox-functional-privacy-permission-manager |
Test funzionali dell'impostazione dell'autorizzazione dell'app per la privacy. |
catbox-functional-privacy-setting |
Test funzionali dell'impostazione 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 delle 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 sulla posizione. |
catbox-functional-sound-setting |
Test funzionali dell'impostazione audio. |
catbox-functional-status-bar |
Test funzionali della barra di stato. |
catbox-functional-storage-setting |
Test funzionali dell'impostazione di archiviazione. |
catbox-functional-system-setting |
Test funzionali delle impostazioni di sistema. |
catbox-functional-systemui |
Test dell'UI di sistema. |
catbox-functional-ux-restriction |
Test funzionali delle 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 delle prestazioni di CATBox.
Piani di test delle prestazioni | Descrizione |
---|---|
catbox-performance-cold-app-start-up-dialer |
Test delle prestazioni di avvio a freddo dell'app Telefono e del dialer. |
catbox-performance-cold-app-start-up-mediacenter |
Test delle prestazioni di 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 delle prestazioni di avvio rapido delle app per Dialer e Telefono. |
catbox-performance-hot-app-start-up-mediacenter |
Test delle prestazioni di avvio delle app più usate per Media Center. |
catbox-performance-hot-app-start-up-settings |
Test delle prestazioni di avvio rapido delle app per 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 delle prestazioni per i media. |
catbox-performance-jank-media-switch-playback |
Test delle prestazioni per la riproduzione con cambio di contenuti multimediali. |
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 su più dispositivi
L'esecuzione dei test lato host su più dispositivi 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 poi il test viene eseguito nell'ambiente di esecuzione Python corretto.
Esaminare i risultati del test CATBox
I risultati delle esecuzioni dei test funzionali e delle 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 |