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.
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:
Seleziona il dispositivo di destinazione in base all'architettura del dispositivo ed esegui il comando seguente:
lunch <target>
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à:
Installa ADB e AAPT .
Installa JDK. Vedere Kit di sviluppo Java per Ubuntu .
Aumenta il limite di memoria. Vedi Requisiti di archiviazione .
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:
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 .
Collegare almeno un dispositivo e preparare il Device Under Test (DUT) come segue:
Per ripristinare le impostazioni di fabbrica del dispositivo automobilistico, vai su 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 il comando seguente:
adb devices
Per abilitare root, esegui il comando seguente:
adb -s DEVICE_SERIAL root
Sostituisci
DEVICE_SERIAL
con l'ID seriale del dispositivo automobilistico.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 |