OmniLab ATS è uno strumento di test che gli sviluppatori e i tecnici di test Android possono utilizzare per impiegare un'interfaccia utente per l'esecuzione di suite di test Android standard, come Android Compatibility Test Suite (CTS). Questo strumento funge da interfaccia web per vari framework di test, come Trade Federation (TF) e Google Mobly, consentendoti di eseguire test CTS e multi-dispositivo su un insieme di dispositivi di test con una configurazione minima, nonché di stabilire una pianificazione per eseguire i test in modo continuo.
Introduzione a OmniLab ATS 2.0
OmniLab ATS 2.0 esegue la migrazione dell'infrastruttura di esecuzione dei test sottostante da Trade Federation a OmniLab. Questa modifica introduce un backend più solido ed efficiente, preservando al contempo l'interfaccia utente e i flussi di lavoro di OmniLab ATS 1.0.
Vantaggi principali di OmniLab ATS 2.0:
- Infrastruttura modernizzata: sfrutta la piattaforma OmniLab per migliorare la stabilità e le prestazioni.
- Transizione senza interruzioni: nessuna modifica alla UI web o ai flussi di lavoro principali di esecuzione dei test.
- A prova di futuro: si allinea all'infrastruttura di test unificata di Google, consentendo un'adozione più rapida delle nuove funzionalità.
OmniLab ATS 2.0 include nuove funzionalità, come gli aggiornamenti collettivi dei piani di test, l'allocazione avanzata dei dispositivi e altro ancora. Consulta le note di rilascio per gli aggiornamenti.
Esegui l'upgrade a OmniLab ATS 2.0:
Per utilizzare OmniLab ATS 2.0, devi eseguire l'upgrade della tua stazione alla build R52 o versioni successive. Utilizza il flag --force_ats_version 2 per passare al nuovo Omnilab ATS 2.0 e il flag --force_update con il comando mtt start per eseguire l'upgrade all'ultima build:
mtt start --force_ats_version 2 --force_update
Durante il periodo di migrazione, ti consigliamo di utilizzare il tag dogfood per accedere all'ultima build stabile con le funzionalità di OmniLab ATS 2.0:
mtt start --force_ats_version 2 --tag dogfood --force_update
Abbiamo in programma di rendere OmniLab ATS 2.0 la versione predefinita nel terzo trimestre del 2026. Prevediamo di ritirare OmniLab ATS 1.0 entro la fine del 2026.
Per maggiori dettagli su aggiornamenti specifici, differenze note e indicazioni per l'upgrade, consulta la guida all'upgrade di OmniLab ATS 2.0.
Configura OmniLab ATS
Questa sezione spiega come installare e configurare OmniLab ATS.
OmniLab ATS utilizza il codice sorgente di queste posizioni:
- Codice sorgente OmniLab ATS
- Codice sorgente di TradeFed Cluster
Installa OmniLab ATS
Segui i requisiti hardware e software per le suite di test che esegui.
I requisiti per CTS sono disponibili su source.android.com.
Non sono previsti requisiti hardware aggiuntivi per OmniLab ATS, ma ti consigliamo di utilizzare i requisiti dell'host CTS come punto di partenza.
Esistono due modi per installare OmniLab ATS:
- Esegui il programma di installazione.
- Installarlo manualmente, il che richiede l'installazione di più programmi e risorse.
Installazione con il programma di installazione
Il programma di installazione è supportato su Ubuntu 22.04 e versioni successive. Il programma di installazione installa e configura tutti i programmi e le risorse necessari per eseguire OmniLab ATS.
Per utilizzare il programma di installazione:
Esegui il programma di installazione:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
Esegui
mtt versionper controllare la versione installata dell'interfaccia a riga di comando OmniLab ATS.
Installa manualmente
Installa Docker
Segui le istruzioni per installare Docker Community Edition (CE) sulla tua macchina Linux.
Segui i passaggi post-installazione per gestire Docker come utente non root.
Potrebbe essere necessario riavviare la finestra del terminale o uscire e accedere di nuovo per applicare le modifiche alle autorizzazioni.
Installa Python 3
L'interfaccia a riga di comando OmniLab ATS richiede Ubuntu 22.04 o versioni successive. La CLI è verificata con le versioni di Python dalla 3.10 alla 3.13.
Per installare Python 3, esegui questi comandi:
sudo apt-get updatesudo apt install python3 python3-distutils
Se hai bisogno di una versione di Python 3 non inclusa nella distribuzione standard, aggiungi prima il repository per Python 3 seguendo uno di questi passaggi:
Esegui questo comando:
sudo add-apt-repository ppa:deadsnakes/ppa
Crea e installa il repository dal codice sorgente.
Per installare una versione specifica di Python 3 (ad esempio 3.10), esegui questi comandi:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
Scarica l'interfaccia a riga di comando di OmniLab ATS
Scarica il pacchetto dell'interfaccia a riga di comando (CLI) qui.
Avvia OmniLab ATS
Avvia OmniLab ATS con il seguente comando:
mtt start
La prima volta che viene avviata, la UI potrebbe richiedere alcuni minuti per essere visualizzata. L'interfaccia a riga di comando
visualizza un URL web per accedere alla UI in un browser. Per impostazione predefinita, l'URL web è localhost:8000. Se necessario, puoi modificare la porta predefinita all'avvio con il flag --port.
Se è disponibile una versione più recente, puoi eseguire l'aggiornamento alla versione corrente. Puoi consultare le note di rilascio per le ultime release.
Per eseguire l'aggiornamento alla versione corrente, esegui:
mtt start --force_update
Per arrestare l'app, esegui:
mtt stop
Per visualizzare un elenco di altri comandi, utilizza:
mtt --help
Esegui il backup e il ripristino del database
Per eseguire il backup del database OmniLab ATS, arresta l'app ed esegui questo comando, che esegue il backup del database corrente in un file TAR denominato mtt-backup.tar nella tua home directory:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
Per eseguire il ripristino, esegui questo comando prima di avviare l'app:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
Configurazione guidata
Dopo aver installato ed eseguito OmniLab ATS per la prima volta, la configurazione guidata ti guida attraverso alcuni passaggi per aiutarti a personalizzare lo strumento per il tuo ambiente. Tutte le modifiche apportate qui possono essere riconfigurate in un secondo momento tramite la pagina Impostazioni.
Ripristina un backup della configurazione
Se hai eseguito il backup di un file di configurazione da un altro host OmniLab ATS, puoi caricare il file per copiare le configurazioni modificate da quell'host facendo clic sul pulsante Carica file.
Figura 1. Ripristino di un backup della configurazione.
Imposta il service account predefinito
Puoi impostare un service account che OmniLab ATS utilizza per impostazione predefinita quando accede alle tue risorse (ad esempio, Google Cloud Storage, Google Drive). Per autenticare l'account di servizio, fai clic su Carica chiave service account e seleziona il file della chiave JSON del service account.
Figura 2. Impostazione del service account.
Quando l'account di servizio viene autenticato correttamente, l'indirizzo email dell'account viene visualizzato nell'angolo in alto a destra della pagina. Per modificare il service account, fai clic sul nome dell'account, rimuovi l'account predefinito corrente e carica una nuova chiave del service account.
Figura 3. Modifica del service account.
Importa set di configurazioni
Un set di configurazioni è un bundle di configurazioni per l'esecuzione di suite di test, incluse le azioni dei dispositivi correlate e i canali di build. I set di configurazione sono ospitati in un bucket Google Cloud Storage (GCS) specifico. Dopo aver autenticato il canale di build GCS con il tuo Account Google, vedrai un elenco di tutti i set di configurazione disponibili.
Seleziona i set di configurazione che vuoi aggiungere all'host della stazione di test e fai clic su Importa selezionati.
Figura 4. Importazione di un set di configurazione.
Includi impostazioni Wi-Fi
Alcuni test CTS richiedono che il dispositivo si connetta a un hotspot Wi-Fi. Per selezionare la tua rete Wi-Fi, inserisci l'SSID Wi-Fi e, se vuoi, la chiave PSK Wi-Fi.
Figura 5. Impostazioni hotspot Wi-Fi.
Dopo aver completato la configurazione guidata, la pagina viene ricaricata con le nuove impostazioni applicate.
Collega un dispositivo
Per utilizzare un dispositivo per i test, è necessario attivare il debug USB. Per attivare il debug:
Segui le istruzioni riportate in Attiva le Opzioni sviluppatore e il debug.
Se prevedi di utilizzare build Android di test precaricate con chiavi ADB personalizzate, inserisci i file
.adb_keypersonalizzati nella directory~/.android/.I file vengono caricati automaticamente e passati ad ADB per attivare automaticamente il debug USB dopo il flashing del dispositivo per i dispositivi che eseguono queste build.
Collega il dispositivo alla macchina host tramite USB.
Il dispositivo viene visualizzato nella scheda Dispositivi ATS di OmniLab entro un minuto dall'aggiornamento dell'interfaccia web. In questa scheda puoi anche visualizzare lo stato dei dispositivi.
Figura 6. Connessione di un dispositivo.
I diversi stati del dispositivo sono:
- Disponibile: il dispositivo è connesso e pronto per eseguire un test.
- Allocated: il dispositivo è connesso ed è in esecuzione un test. Ogni dispositivo può eseguire un solo test alla volta, quindi deve completare il test corrente prima di eseguirne uno nuovo.
Esegui un test
Seleziona un test
OmniLab ATS include un insieme di configurazioni CTS predefinite. Per eseguire uno di questi test, vai alla scheda Suite di test e fai clic su Esegui test per il test selezionato.
Figura 7. Selezione di un test.
Per modificare o aggiungere nuovi test, consulta Aggiunta di test.
Configura l'esecuzione del test
Modifica i parametri da utilizzare per questa specifica esecuzione del test. La maggior parte dei parametri viene precompilata con i valori definiti nella configurazione di test selezionata.
Questo passaggio può essere completato utilizzando i valori predefiniti, ma puoi modificare qualsiasi parametro, ad esempio Numero massimo di tentativi e Comando, in base alle tue esigenze.
Immagine 8. Configurazione di un'esecuzione di test.
I parametri di esecuzione del test sono:
- Nome: il nome della suite di test che vuoi eseguire.
- Numero di esecuzioni: il numero di volte in cui questa esecuzione del test deve essere eseguita quando è pianificata. Le esecuzioni dei test vengono pianificate utilizzando Trade Federation, che esegue fino a 20 test in parallelo, se la capacità lo consente.
- Numero massimo di nuovi tentativi: numero massimo di volte in cui riprovare un'esecuzione di test se almeno un test non va a buon fine. In genere, questo valore è impostato su 4-6 nuovi tentativi per un'esecuzione CTS completa per gestire i test instabili.
- Timeout della coda: se un'esecuzione del test rimane nello stato In coda per troppo tempo, viene annullata automaticamente. Specifica qui il tempo di attesa prima dell'annullamento. Il valore predefinito è 24 ore.
Comando: il comando per eseguire la suite di test. Qui puoi inserire altri argomenti della riga di comando. Ad esempio, esegui un modulo specifico in CTS 8.1 con:
cts-suite -m ShortModuleNameComando di ripetizione: il comando per ripetere una suite di test. Qui puoi aggiungere altri argomenti della riga di comando. Ad esempio, per riprovare solo un modulo specifico in CTS 8.1, utilizza:
cts --retry 0 -m ShortModuleNameGli argomenti di ripetizione potrebbero essere diversi da quelli disponibili con il comando iniziale, quindi controlla i parametri supportati sul sito ufficiale della suite di test selezionata.
Esecuzione test precedente: se vuoi ripetere un'esecuzione test precedente:
Locale: se l'esecuzione è stata avviata sull'host corrente, inserisci l'ID dell'esecuzione di test visualizzato quando visualizzi i dettagli dell'esecuzione di test.
Figura 9. Esecuzione del test precedente locale.
Remoto: se l'esecuzione è stata avviata su un host diverso, carica il file dei risultati del test selezionando Remoto, facendo clic su Carica file dei risultati del test e selezionando un file dallo spazio di archiviazione locale.
Figura 10. Esecuzione del test precedente da remoto.
Alcuni dispositivi
Fai clic sulle caselle di controllo per selezionare i dispositivi da assegnare per l'esecuzione della suite di test. Il numero di shard dovrebbe cambiare automaticamente in base al numero di dispositivi selezionati.
Figura 11. Selezione dei dispositivi.
Per selezionare i dispositivi in base ad attributi diversi dai numeri di serie, puoi inserire manualmente "Specifiche del dispositivo". Ad esempio, per selezionare tre dispositivi il cui nome del prodotto è "bramble", inserisci quanto segue:
product:bramble;product:bramble;product:bramble
Gli attributi supportati sono:
- build_id
- device_serial
- device_type
- nome host
- prodotto
- product_variant
- sim_state
Tutti i dispositivi selezionati devono essere nello stato Disponibile per eseguire l'esecuzione del test e passano tutti allo stato Allocato quando viene eseguita l'esecuzione del test. Un'esecuzione di test si trova nello stato In coda mentre attende che i dispositivi diventino disponibili.
Aggiungi azioni dei dispositivi
Le azioni del dispositivo sono script che possono essere eseguiti prima di ogni esecuzione del test. Alcune azioni del dispositivo sono già configurate, ad esempio il flashing e il riavvio. Per creare nuove azioni del dispositivo, consulta Crea una nuova azione del dispositivo.
Figura 12. Azioni dispositivo.
Per aggiungere un'azione del dispositivo a un'esecuzione del test, fai clic su Aggiungi nuova azione, seleziona le caselle di controllo relative alle azioni da aggiungere e fai clic su Aggiungi azioni. Le azioni sul dispositivo vengono eseguite in sequenza. Puoi riordinare le azioni trascinandole.
Figura 13. Riordinamento delle azioni.
Imposta le risorse di test
Le risorse di test sono i file necessari per eseguire un'esecuzione di test. Ad esempio, l'esecuzione di CTS richiede un file android-cts*.zip e il flashing di un dispositivo richiede di fornire l'immagine della build.
L'URL di download del file ZIP della suite di test deve essere impostato per impostazione predefinita sui link di Google Drive forniti ai partner. Puoi selezionare un altro file facendo clic su Sfoglia. Nella finestra popup, puoi inserire un link di download del file, utilizzare un file da un canale di build autenticato o caricare un file da utilizzare dallo spazio di archiviazione locale.
Figura 14. Risorse di test.
Di seguito è riportata la finestra popup per la selezione di una risorsa di test tramite un URL web. Puoi inserire il link dell'URL di download e fare clic sul pulsante Seleziona per confermare la selezione.
Figura 15. Selettore delle risorse di test - URL web.
Se hai caricato risorse su Google Drive, Google Cloud Storage (GCS) o altri canali, puoi anche andare alla scheda del canale specifico e selezionare le risorse da lì. Ecco un esempio di selezione di una risorsa da Google Drive.
Figura 16. Test Resource Selector - Google Drive.
Oltre alla selezione dei file, nel campo Nome file sono supportati anche i caratteri jolly. La documentazione è disponibile qui.
Figura 17. Selettore delle risorse di test - Supporto dei pattern con caratteri jolly.
Puoi anche selezionare un file dallo spazio di archiviazione locale di OmniLab ATS. Puoi caricare i file in questo spazio di archiviazione o utilizzare direttamente file e directory locali.
Figura 18. Selettore di risorse di test - Archivio file locale.
Aggiungi configurazioni di riesecuzione
Puoi pianificare riesecuzioni che iniziano dopo il completamento dell'esecuzione principale e caricano i relativi risultati, ma possono utilizzare dispositivi, azioni o risorse diversi.
Figura 19. Aggiunta delle configurazioni di riesecuzione.
Avvia un'esecuzione di test
Dopo aver inserito le informazioni necessarie per l'esecuzione di test, fai clic su Avvia esecuzione di test. Se tutte le informazioni sono valide, l'esecuzione del test viene avviata e viene visualizzata una pagina in cui puoi visualizzare i dettagli e l'avanzamento dell'esecuzione del test.
Figura 20. Avvio di un'esecuzione di test.
Crea un piano di test
I piani di test vengono utilizzati per creare esecuzioni di test su base periodica. Ad esempio, eseguire CTS 9.0 ogni giorno alle 17:00. Per creare un nuovo piano di test, fai clic su Crea un nuovo piano di test.
Figura 21. Creazione di un piano di test.
Configura il piano di test
Inserisci il nome del piano di test e le etichette che vuoi aggiungere. Poi seleziona una pianificazione da utilizzare.
- Manuale: il piano di test crea esecuzioni di test solo quando un utente fa clic su Esegui piano di test nella pagina dell'elenco dei piani di test.
- Periodica: il piano di test pianifica automaticamente le esecuzioni dei test in base alla pianificazione periodica selezionata. Ad esempio, pianificando l'esecuzione di un test ogni giorno alle 17:00.
- Personalizzato: il piano di test pianifica automaticamente le esecuzioni dei test in base all'espressione cron inserita. Ad esempio,
per pianificare l'esecuzione di un test ogni giorno alle 17:00, l'espressione cron è
0 17 * * *.
Figura 22. Configurazione di un piano di test.
Aggiungi suite di test
Aggiungi le suite di test che vuoi pianificare con il piano di test facendo clic su + Aggiungi configurazione di esecuzione dei test. Seleziona una suite di test dal menu a discesa Nome e fai clic su Passaggio successivo. Poi seleziona i dispositivi su cui vuoi eseguire il test e fai clic su Aggiungi configurazione. Puoi aggiungere più configurazioni per ogni piano di test.
Figura 23. Configurazione di un'esecuzione di test.
Aggiungi azioni dei dispositivi
Aggiungi le azioni del dispositivo che vuoi eseguire prima di ogni esecuzione del test. Per maggiori dettagli, consulta Aggiunta di azioni del dispositivo.
Figura 24. Aggiunta di azioni dei dispositivi.
Imposta le risorse di test
L'aggiunta di risorse di test ai piani di test è uguale all'aggiunta di risorse di test alle singole esecuzioni di test. Per maggiori dettagli, consulta Impostazione delle risorse di test.
Figura 25. Impostazione delle risorse di test.
Visualizza le esecuzioni dei test
Elenco delle esecuzioni di test
Visualizza l'elenco delle esecuzioni di test pianificate nella pagina Esecuzioni di test. Fai clic su Visualizza per visualizzare ulteriori dettagli su un'esecuzione di test.
Puoi anche filtrare l'elenco inserendo una stringa nella barra dei filtri e premendo il tasto Invio. Puoi utilizzare più filtri separandoli con una virgola. Il filtro restituisce tutte le righe che contengono il testo esatto (nessuna corrispondenza di sottostringa) in qualsiasi colonna, ad eccezione di Stato e Data di creazione.
Un filtro vuoto restituisce tutte le righe. Al momento non è possibile filtrare le righe con valori vuoti.
Figura 26. Elenco delle esecuzioni di test.
Dettagli dell'esecuzione del test
Qui puoi visualizzare i dettagli di un'esecuzione di test, ad esempio lo stato, i log e i risultati.
Figura 27. Dettagli dell'esecuzione del test.
Stato dell'esecuzione del test
L'avanzamento di un'esecuzione del test viene mostrato nella sezione Stato. Se è presente un messaggio correlato, ad esempio l'avanzamento del download, il motivo dell'annullamento o un messaggio di errore, viene mostrato anche qui.
Figura 28. Stato dell'esecuzione del test.
Gli stati di esecuzione del test sono:
- In attesa: è in corso il download delle risorse richieste.
- In coda: il test è pronto per essere eseguito quando un dispositivo diventa disponibile.
- In esecuzione: il test è in esecuzione su un dispositivo allocato.
- Completato: il test è stato completato e i risultati sono stati registrati.
- Annullato: il test è stato annullato dall'utente o è scaduto durante il tentativo di trovare dispositivi disponibili.
- Errore: si è verificato un errore che ha impedito l'esecuzione del test.
Annulla un'esecuzione di test
Se l'esecuzione del test non è stata completata, puoi annullarla facendo clic su Annulla e poi su Sì nella finestra di dialogo di conferma. Le esecuzioni dei test vengono annullate automaticamente anche se rimangono nello stato In coda per un periodo di tempo superiore a quello indicato nel campo queue_timeout_seconds. L'annullamento di un'esecuzione di test in stato In esecuzione potrebbe richiedere alcuni minuti per diventare effettivo.
Figura 29. Annullamento di un'esecuzione di test.
Risultati dell'esecuzione del test
Al termine di un'esecuzione di test, i risultati vengono raccolti e visualizzati. Puoi visualizzare ulteriori dettagli facendo clic sulla freccia di ogni esecuzione. Fai clic su Visualizza file di output per visualizzare gli artefatti di test raccolti, ad esempio test_result.xml e test_result_failures.html.
Figura 30. Risultati dell'esecuzione del test.
Puoi visualizzare i log in tempo reale dell'host e di Tradefed nella scheda Log.
Figura 31. Scheda Log.
I risultati dei singoli moduli sono disponibili nella scheda Risultati del test.
Figura 32. Scheda Risultati del test.
Puoi scaricare i file utilizzati come risorse di test facendo clic su Apri nella scheda Risorse di test.
Figura 33. Scheda Risorse di test.
Per visualizzare i dettagli dell'esecuzione del test, ad esempio create_time, vai alla scheda Config.
Figura 34. Scheda Config.
Funzionalità avanzate
Gestisci i file di configurazione
OmniLab ATS utilizza file di configurazione scritti in YAML per caricare opzioni predefinite come test, canali di build e azioni del dispositivo. Ecco un esempio di file di configurazione:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
Quando configuri l'istanza OmniLab ATS, puoi condividere la configurazione con altri utenti esportandola come file. Per farlo, vai alla pagina Impostazioni e fai clic su Esporta in alto a destra.
Figura 35. Gestione dei file di configurazione.
Dopo aver scaricato il file di configurazione, condividilo con altri utenti. Possono aggiungere il file di configurazione alla propria istanza OmniLab ATS facendo clic su Importa e selezionando il file di configurazione.
Crea una nuova azione del dispositivo
Le azioni del dispositivo vengono utilizzate per automatizzare la procedura di configurazione del dispositivo. Le azioni sono script eseguiti su ogni dispositivo su cui viene eseguito il test prima di ogni esecuzione del test, inclusi i nuovi tentativi. Per visualizzare un elenco delle azioni disponibili per i dispositivi, vai alla pagina Impostazioni e fai clic sulla scheda Azioni dispositivo. Alcune azioni del dispositivo sono già configurate, ad esempio il riavvio e il flashing.
Figura 36. Scheda Azioni dispositivo.
Aggiungi una nuova azione del dispositivo
Fai clic su Nuova azione del dispositivo.
Figura 37. Pulsante di azione del nuovo dispositivo.
Inserisci un nome e una descrizione.
Figura 38. Nome dell'azione del dispositivo.
Fai clic su Aggiungi preparatore di destinazione.
Inserisci il nome completo della classe del preparatore di destinazione di Trade Federation, ad esempio
com.android.tradefed.targetprep.RunHostCommandTargetPreparer.
Figura 39. Aggiunta di un preparatore di destinazione.
Un elenco dei preparatori di target disponibili è disponibile nel riferimento com.android.tradefed.targetprep.
Figura 40. Elenco dei preparatori di destinazione.
Aggiungi eventuali opzioni da utilizzare con il preparatore del target. Per visualizzare le opzioni disponibili, controlla targetprep per il codice sorgente di ogni preparatore di destinazione in AOSP:
Figura 41. Esempio di opzione di azione.
Per aggiungere un'opzione, fai clic su Aggiungi opzione Target Preparer e inserisci i valori richiesti.
Figura 42. Esempio di comando di azione.
Definisci le risorse di test necessarie per eseguire l'azione sul dispositivo, ad esempio le immagini di build per il flashing. Per aggiungere una definizione della risorsa, fai clic su Aggiungi risorsa di test e compila i campi obbligatori. Se sai dove si trovano i tuoi file, puoi fornire un URL di download predefinito facendo clic su Sfoglia. Se i preparatori di destinazione accettano la directory come risorsa di test, seleziona Decomprimi. Poi specifica la directory Destinazione relativa nella directory di lavoro temporanea e i Nomi file da decomprimere. Se non vengono forniti nomi di file, tutti i file vengono decompressi dalla risorsa di test.
Figura 43. Risorse per i test delle azioni.
Fai clic su Aggiorna.
Figura 44. Azione per salvare le modifiche.
Gestisci i test
Modifica un test
Per modificare un test salvato, vai alla pagina Test e fai clic su Modifica nella riga del test che vuoi modificare. Dopo aver modificato la configurazione del test, fai clic su Aggiorna.
Figura 45. Modifica di un test.
Aggiungi un nuovo test
Per aggiungere un nuovo test, vai alla pagina Test e fai clic su Crea un nuovo test. Inserisci le informazioni appropriate e fai clic su Crea.
Figura 46. Creazione di un test.
Figura 47. Copia di un test.
Esporta le configurazioni host
Dopo aver configurato un host, puoi esportare le sue configurazioni in un file. Puoi caricare questo file su altri host per copiare le configurazioni salvate.
Per esportare le configurazioni di un host, vai alla pagina Impostazioni e fai clic su Esporta nell'angolo in alto a destra.
Figura 48. Esportazione di una configurazione host.
Per importare un file di configurazione dell'host, vai alla pagina Impostazioni e fai clic su Importa nell'angolo in alto a destra.
Figura 49. Importazione di una configurazione host.
Utilizza file e directory locali
A partire dalla versione R11, i file nella directory $HOME/.ats_storage sono accessibili automaticamente in OmniLab ATS. Copia o sposta un file in quella directory, quindi selezionalo dalla scheda File locale quando pianifichi l'esecuzione di un test.
cp /path/to/file $HOME/.ats_storage
Figura 50. Selezionando un file dalla directory $HOME/.ats_storage.
Puoi montare directory aggiuntive nell'archivio file locale con il flag --mount_local_path.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
Figura 51. Directory aggiuntive montate nell'archivio file locale.
Attiva la modalità multi-host
Con la modalità multi-host, gli utenti possono utilizzare un singolo host controller ATS per gestire i dispositivi e i test su più host worker ATS.
Figura 52. Architettura della modalità multi-host.
Per avviare il controller ATS, utilizza il seguente comando:
mtt start --operation_mode=ON_PREMISEVerifica che il controller sia accessibile all'indirizzo
http://${CONTROLLER_HOSTNAME}:8000.Per avviare i worker, utilizza il seguente comando:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
Se la tua rete non consente agli host di comunicare tra loro, devi seguire le istruzioni di configurazione più avanzate riportate di seguito sul worker ATS.
Connetti i due host utilizzando i tunnel SSH. Seleziona le porte per il server principale e il file server, ad esempio 9000 e 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAMEConfigura e avvia ATS.
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
Pulizia file
Il pulitore di file è un cron job che viene eseguito ogni ora per pulire i file in base alle configurazioni definite dall'utente. ATS ha due configurazioni predefinite per archiviare i risultati delle esecuzioni dei test ed eliminare i file temporanei. Questa guida spiega come personalizzare le policy e le configurazioni per gestire i file in modo efficace.
Norme
Una policy definisce l'operazione da eseguire su file o directory e i criteri per selezionare i target. Le operazioni disponibili sono riportate nella tabella:
| Tipo di operazione | Parametri |
|---|---|
ARCHIVE | remove_file: se true, rimuovi il file dopo l'archiviazione. |
DELETE |
I criteri si basano sugli attributi dei file e sulle informazioni di sistema. I criteri disponibili sono riportati nella tabella:
| Tipo di criterio | Descrizione | Parametri |
|---|---|---|
LAST_MODIFIED_TIME | Filtra i file in base alla data e all'ora dell'ultima modifica. | ttl: sono supportati vari tipi di espressioni temporali, ad esempio 10m, 2h, 7 days, 4w. Consulta pytimeparse per i formati supportati. |
LAST_ACCESS_TIME | Filtra i file in base alla data e all'ora dell'ultimo accesso. | Uguale a LAST_MODIFIED_TIME. |
NAME_MATCH | Filtra i file in base al nome utilizzando un'espressione regolare. | pattern: espressione regolare, ad esempio [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip per trovare i file ZIP dei risultati. |
SYSTEM_AVAILABLE_SPACE | Attiva azioni in base allo spazio disponibile sul sistema. | threshold: attiva l'azione quando lo spazio disponibile scende al di sotto della soglia, ad esempio 200(B), 200KB, 200MB, 200GB, 2TB. |
Figura 53. Aggiungi una nuova policy di pulizia dei file.
Configurazioni
Una configurazione combina una o più policy con directory specifiche. I file e le directory all'interno delle directory specificate vengono elaborati in base alle policy definite. Le policy vengono applicate nell'ordine in cui appaiono nella configurazione.
Tutte le directory di destinazione devono trovarsi nella directory /data. Se la configurazione specifica la directory di destinazione come logs, viene interpretata come /data/logs.
Figura 54. Modifica il file di configurazione del cleaner.
Reimposta
Se fai clic su Ripristina impostazioni, la configurazione dello strumento di pulizia dei file viene ripristinata allo stato predefinito. Questa azione cancella TUTTI gli elementi personalizzati.
Figura 55. Reimposta le impostazioni di Pulizia file.
Assistenza
Segnalazioni di bug
Il tuo contributo a OmniLab ATS aiuta a migliorare lo sviluppo dello strumento e vogliamo il tuo feedback. Per informazioni dettagliate sull'ultima release, consulta le note di rilascio di OmniLab ATS. Per segnalare bug o offrire suggerimenti, invia una segnalazione di bug. I partner devono segnalare bug o suggerimenti utilizzando i propri canali partner.