OmniLab Android Test Station

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:

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:

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:

  1. Esegui il programma di installazione:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. Esegui mtt version per controllare la versione installata dell'interfaccia a riga di comando OmniLab ATS.

Installa manualmente

Installa Docker
  1. Segui le istruzioni per installare Docker Community Edition (CE) sulla tua macchina Linux.

  2. Segui i passaggi post-installazione per gestire Docker come utente non root.

  3. 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 update
sudo 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 update
sudo 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.

Ripristina backup della configurazione

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.

Imposta 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.

Cambia 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.

Importa set di configurazioni

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.

Impostazioni 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:

  1. Segui le istruzioni riportate in Attiva le Opzioni sviluppatore e il debug.

  2. Se prevedi di utilizzare build Android di test precaricate con chiavi ADB personalizzate, inserisci i file .adb_key personalizzati 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.

  3. 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.

    Connetti un dispositivo

    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.

Seleziona un test

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.

Configura l'esecuzione del test

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 ShortModuleName
    
  • Comando 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 ShortModuleName
    

    Gli 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.

      Esecuzione test precedente locale

      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.

      Esecuzione del test precedente da remoto

      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.

Seleziona dispositivi

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.

Azioni 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.

Aggiungi azioni

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.

Risorse di test

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.

Selettore delle risorse di test - URL web

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.

Selettore delle risorse di test - 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.

Selettore delle risorse di test - Supporto dei pattern con caratteri jolly

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.

Selettore delle risorse di test - Archivio file locale

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.

Aggiungi configurazioni di riesecuzione

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.

Avvia l'esecuzione di 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.

Crea 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 * * *.

Configura piano di test

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.

Configura l'esecuzione del 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.

Aggiungi azioni dei dispositivi

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.

Imposta le 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.

Elenco delle esecuzioni di test

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.

Dettagli dell'esecuzione del test

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.

Stato dell'esecuzione del test

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.

Annulla l'esecuzione del test

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.

Risultati dell'esecuzione del test

Figura 30. Risultati dell'esecuzione del test.

Puoi visualizzare i log in tempo reale dell'host e di Tradefed nella scheda Log.

Log di esecuzione dei test

Figura 31. Scheda Log.

I risultati dei singoli moduli sono disponibili nella scheda Risultati del test.

Scheda dei 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.

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.

Scheda Configurazione test

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.

Gestione dei file di configurazione

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.

Scheda Azioni dispositivo

Figura 36. Scheda Azioni dispositivo.

Aggiungi una nuova azione del dispositivo

  1. Fai clic su Nuova azione del dispositivo.

    Pulsante di azione Nuovo dispositivo

    Figura 37. Pulsante di azione del nuovo dispositivo.

  2. Inserisci un nome e una descrizione.

    Nome dell'azione del dispositivo

    Figura 38. Nome dell'azione del dispositivo.

  3. Fai clic su Aggiungi preparatore di destinazione.

  4. Inserisci il nome completo della classe del preparatore di destinazione di Trade Federation, ad esempio com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    Aggiungi preparatore di destinazione

    Figura 39. Aggiunta di un preparatore di destinazione.

    Un elenco dei preparatori di target disponibili è disponibile nel riferimento com.android.tradefed.targetprep.

    Elenco dei preparatori target

    Figura 40. Elenco dei preparatori di destinazione.

  5. 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:

    Esempio di opzione di azione

    Figura 41. Esempio di opzione di azione.

  6. Per aggiungere un'opzione, fai clic su Aggiungi opzione Target Preparer e inserisci i valori richiesti.

    Esempio di comando di azione

    Figura 42. Esempio di comando di azione.

  7. 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.

    Risorse per i test delle azioni

    Figura 43. Risorse per i test delle azioni.

  8. Fai clic su Aggiorna.

    Azione Salva modifiche

    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.

Modifica un test

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.

Crea un test

Figura 46. Creazione di un test.

Copia 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.

Esportazione delle configurazioni host

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.

Importazione delle configurazioni host

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

Selezione di un file locale

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

Directory montate aggiuntive

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.

Architettura della modalità multi-host

Figura 52. Architettura della modalità multi-host.

  1. Per avviare il controller ATS, utilizza il seguente comando:

    mtt start --operation_mode=ON_PREMISE
    
  2. Verifica che il controller sia accessibile all'indirizzo http://${CONTROLLER_HOSTNAME}:8000.

  3. 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.

  1. 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_HOSTNAME
    
  2. Configura 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 operazioneParametri
ARCHIVEremove_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 criterioDescrizioneParametri
LAST_MODIFIED_TIMEFiltra 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_TIMEFiltra i file in base alla data e all'ora dell'ultimo accesso.Uguale a LAST_MODIFIED_TIME.
NAME_MATCHFiltra 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_SPACEAttiva 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.

Nuova policy di pulizia dei file

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.

Modifica configurazione del pulitore file

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.

Reimposta le impostazioni di Pulizia file

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.