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 la suite di test di compatibilità Android (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 su più dispositivi su un insieme di dispositivi di test con una configurazione minima, nonché stabilire una pianificazione per eseguire continuamente i test.

Configura OmniLab ATS

Questa sezione spiega come installare e configurare OmniLab ATS.

OmniLab ATS utilizza il codice sorgente di queste posizioni:

Installare 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 il requisito host CTS come punto di partenza.

Esistono due modi per installare OmniLab ATS:

Installazione con il programma di installazione

Su Ubuntu 20.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 di OmniLab ATS CLI.

Installare 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 disconnettersi e accedere di nuovo affinché le modifiche alle autorizzazioni vengano applicate.

Installa Python 3

La CLI OmniLab ATS è verificata rispetto alle versioni di Python da 3.7 a 3.11.

Per Ubuntu 16.04 o versioni precedenti, aggiungi prima il repository per Python 3 in uno dei seguenti modi:

  • Esegui questo comando:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • Crea e installa il repository dall'origine.

Per installare Python 3, esegui questi comandi:

sudo apt-get update
sudo apt install python3 python3-distutils

Per installare una versione specifica di Python 3 (ad esempio, la 3.10), esegui questi comandi:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

Scarica la CLI OmniLab ATS

Scarica il pacchetto dell'interfaccia a riga di comando (CLI) qui.

Avviare OmniLab ATS

Avvia OmniLab ATS con il seguente comando:

mtt start

La prima volta che viene avviata, l'interfaccia utente potrebbe richiedere alcuni minuti prima di essere visualizzata. La CLI mostra 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 attuale. Puoi consultare le note di rilascio per le ultime versioni.

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

Eseguire 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 il ripristino, esegui il comando seguente 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 procedura guidata di configurazione ti guida attraverso alcuni passaggi per aiutarti a personalizzare lo strumento per il tuo ambiente. Le modifiche apportate qui possono essere riconfigurate in un secondo momento tramite la pagina Impostazioni.

Ripristinare un backup della configurazione

Se hai un file di configurazione di cui è stato eseguito il backup 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.

Impostare 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 il service account, fai clic su Carica chiave service account e seleziona il file JSON della chiave 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.

Modifica service account

Figura 3. Modifica del service account.

Importare i set di configurazione

Un insieme di configurazioni è un bundle di configurazioni per l'esecuzione di suite di test, incluse le azioni del dispositivo 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, visualizzerai un elenco di tutti i set di configurazione a tua disposizione.

Seleziona i set di configurazione che vuoi aggiungere all'host Test Station e fai clic su Importa selezionati.

Importa set di configurazione

Figura 4. Importazione di un insieme di configurazioni.

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 PSK Wi-Fi.

Impostazioni Wi-Fi

Figura 5. Impostazioni hotspot Wi-Fi.

Dopo aver completato la procedura guidata di configurazione, la pagina viene ricaricata con le nuove impostazioni applicate.

Connetti un dispositivo

Per utilizzare un dispositivo per i test, devi abilitare il debug USB. Per attivare il debug:

  1. Segui le istruzioni riportate in Attivare le opzioni sviluppatore e il debug.

  2. Se prevedi di utilizzare build di test di Android 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. Puoi anche visualizzare lo stato dei dispositivi in questa scheda.

    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.
  • Allocato: il dispositivo è connesso e sta eseguendo un test. Ogni dispositivo può eseguire un solo test alla volta, quindi deve terminare il test corrente prima di eseguirne uno nuovo.

Esecuzione di 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 la sezione Aggiunta di test.

Configura esecuzione test

Modifica i parametri da utilizzare per questa esecuzione di test specifica. 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 Max Retry e Command, in base alle tue esigenze.

Configura esecuzione test

Figura 8. Configurazione di un'esecuzione di test.

I parametri di esecuzione del test sono:

  • Nome: il nome della suite di test che vuoi eseguire.
  • Conteggio esecuzioni: 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 esecuzioni dei test in parallelo se la capacità lo consente.
  • Max Retry: numero massimo di tentativi di esecuzione di un test se almeno un test non riesce. In genere, questo valore è impostato su 4-6 tentativi per l'esecuzione completa di CTS per gestire i test instabili.
  • Timeout della coda: se l'esecuzione di un test rimane troppo a lungo nello stato In coda, viene annullata automaticamente. Specifica qui il periodo di tempo da attendere prima della cancellazione. Il valore predefinito è 24 ore.
  • Command: il comando per eseguire la suite di test. Puoi inserire argomenti della riga di comando aggiuntivi qui. Ad esempio, esegui un modulo specifico in CTS 8.1 con:

    cts-suite -m ShortModuleName
    
  • Riprova comando: il comando per riprovare una suite di test. Qui puoi aggiungere argomenti della riga di comando aggiuntivi. Ad esempio, per riprovare solo un modulo specifico in CTS 8.1, utilizza:

    cts --retry 0 -m ShortModuleName
    

    Gli argomenti di ripetizione potrebbero differire da quelli disponibili con il comando iniziale, quindi controlla i parametri supportati sul sito ufficiale per la suite di test selezionata.

  • Esecuzione di test precedente: se vuoi eseguire nuovamente un'esecuzione di test precedente:

    • Locale: se l'esecuzione è stata avviata sull'host corrente, inserisci l'ID dell'esecuzione del test visualizzato quando visualizzi i dettagli dell'esecuzione del test.

      Esecuzione del 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 dall'archivio locale.

      Remote Previous Test Run

      Figura 10. Esegui il test precedente da remoto.

Seleziona dispositivi

Seleziona le caselle di controllo per selezionare i dispositivi da allocare per l'esecuzione della suite di test. Il conteggio degli 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 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 è nello stato In coda mentre attende che i dispositivi diventino disponibili.

Aggiungere azioni dispositivo

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 per i dispositivi, consulta Creare una nuova azione per i dispositivi.

Azioni dispositivo

Figura 12. Azioni dispositivo.

Per aggiungere un'azione del dispositivo a un test, fai clic su Aggiungi nuova azione, seleziona le caselle di controllo per le azioni da aggiungere e fai clic su Aggiungi azione/i. Le azioni dispositivo vengono eseguite in sequenza. Puoi riordinare le azioni trascinandole.

Aggiungi azioni

Figura 13. Riordinare le azioni.

Imposta le risorse di test

Le risorse di test sono i file necessari per eseguire un 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 file diverso facendo clic su Sfoglia. Nella finestra popup, puoi inserire un link per il download di un file, utilizzare un file da un canale di build autenticato o caricare un file da utilizzare dallo spazio di archiviazione locale.

Risorse per i 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 risorse di test - URL web

Figura 15. Selettore 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. Ecco un esempio di selezione di una risorsa da Google Drive.

Test del selettore risorse - Google Drive

Figura 16. Testa il selettore risorse - Google Drive.

Oltre alla semplice selezione dei file, i caratteri jolly sono supportati anche nel campo Nome file. La documentazione è disponibile qui.

Selettore risorse di test - Supporto dei pattern con caratteri jolly

Figura 17. Selettore risorse di test: supporto dei pattern con caratteri jolly.

Puoi anche selezionare un file dallo spazio di archiviazione locale di OmniLab ATS. Puoi caricare file in questo spazio di archiviazione oppure utilizzare direttamente file e directory locali.

Test Resource Selector - Local File Store

Figura 18. Testa il selettore risorse - Archivio file locale.

Aggiungi configurazioni di replica

Puoi pianificare esecuzioni ripetute che iniziano dopo il completamento dell'esecuzione principale e caricare i relativi risultati, ma possono utilizzare dispositivi, azioni o risorse diversi.

Aggiungi configurazioni di ripetizione

Figura 19. Aggiunta delle configurazioni di ripetizione.

Avviare un test

Dopo aver inserito le informazioni necessarie per l'esecuzione del test, fai clic su Avvia esecuzione test. Se tutte le informazioni sono valide, viene avviata l'esecuzione del test e viene visualizzata una pagina in cui puoi visualizzare i dettagli e lo stato di avanzamento dell'esecuzione del test.

Avvia esecuzione di test

Figura 20. Avvio di un test.

Creare 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 piano di test

Inserisci il nome del piano di test e le etichette che vuoi aggiungere. Poi seleziona una programmazione 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.
  • Periodico: il piano di test pianifica automaticamente le esecuzioni dei test in base alla pianificazione periodica selezionata. Ad esempio, pianificare 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 un test ogni giorno alle 17:00, l'espressione cron è 0 17 * * *.

Configura piano di test

Figura 22. Configurazione di un piano di test.

Aggiungere suite di test

Aggiungi le suite di test che vuoi pianificare in base al piano di test facendo clic su + Aggiungi configurazione esecuzione 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 esecuzione test

Figura 23. Configurazione di un'esecuzione di test.

Aggiungere azioni dispositivo

Aggiungi le azioni del dispositivo che vuoi vengano eseguite prima di ogni esecuzione del test. Per saperne di più, consulta Aggiungere azioni del dispositivo.

Aggiungere azioni dispositivo

Figura 24. Aggiunta di azioni dei dispositivi.

Imposta le risorse di test

L'aggiunta di risorse di test ai piani di test è identica all'aggiunta alle singole esecuzioni di test. Per maggiori dettagli, consulta Impostare le risorse di test.

Imposta risorse di test

Figura 25. Impostazione delle risorse di test.

Visualizzare le esecuzioni di 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 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, escluse Stato e Creato.

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 di test

Qui puoi visualizzare i dettagli di un test, come lo stato, i log e i risultati.

Dettagli esecuzione test

Figura 27. Dettagli dell'esecuzione del test.

Stato dell'esecuzione di test

L'avanzamento di un test viene visualizzato nella sezione Stato. Se è presente un messaggio correlato, come l'avanzamento del download, il motivo dell'annullamento o un messaggio di errore, viene visualizzato anche qui.

Stato esecuzione test

Figura 28. Stato dell'esecuzione del test.

Gli stati dell'esecuzione del test sono:

  • In attesa: le risorse richieste sono in fase di download.
  • 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 riportati.
  • Annullato: il test è stato annullato dall'utente o è scaduto il timeout durante il tentativo di trovare dispositivi disponibili.
  • Errore: si è verificato un errore che ha impedito l'esecuzione del test.

Annullare un'esecuzione del test

Se l'esecuzione di prova non è stata completata, puoi annullarla facendo clic su Annulla e poi su nella finestra di dialogo di conferma. Le esecuzioni dei test vengono annullate automaticamente anche se rimangono nello stato In coda più a lungo del campo queue_timeout_seconds. L'annullamento di un test in esecuzione con stato In esecuzione potrebbe richiedere alcuni minuti per essere applicato.

Annulla esecuzione di test

Figura 29. Annullamento di un'esecuzione di test.

Risultati dell'esecuzione test

Al termine di un test, i risultati vengono raccolti e visualizzati. Puoi visualizzare ulteriori dettagli facendo clic sulla freccia per 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 di test

Figura 30. Risultati dell'esecuzione del test.

Puoi visualizzare i log live dell'host e di Tradefed nella scheda Log.

Log di esecuzione di test

Figura 31. Scheda Log.

I risultati dei singoli moduli si trovano nella scheda Risultati del test.

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.

Scheda Risorse test

Figura 33. Scheda Risorse di test.

Per visualizzare i dettagli dell'esecuzione del test, ad esempio create_time, vai alla scheda Configurazione.

Scheda Configurazione test

Figura 34. Scheda Configurazione.

Funzionalità avanzate

Gestire 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 all'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, incluso prima dei nuovi tentativi. Per visualizzare un elenco delle azioni del dispositivo disponibili, vai alla pagina Impostazioni e fai clic sulla scheda Azioni del dispositivo. Diverse azioni del dispositivo sono già configurate, come il riavvio e il flashing.

Scheda Azioni dispositivo

Figura 36. Scheda Azioni dispositivo.

Aggiungere una nuova azione del dispositivo

  1. Fai clic su Nuova azione dispositivo.

    Pulsante Nuova azione 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 del target.

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

    Aggiungi preparatore del target

    Figura 39. Aggiunta di un preparatore di destinazione.

    Un elenco dei preparatori di target disponibili è disponibile nei riferimenti di com.android.tradefed.targetprep.

    Target Preparer List

    Figura 40. Elenco dei preparatori di destinazione.

  5. Aggiungi le opzioni da utilizzare con lo strumento di preparazione 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 di preparazione del target 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 del dispositivo, ad esempio crea immagini di build per il flashing. Per aggiungere una definizione di 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 target 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 il test delle azioni

    Figura 43. Risorse per il test delle azioni.

  8. Fai clic su Aggiorna.

    Azione Salva modifiche

    Figura 44. Azione Salva modifiche.

Gestisci test

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

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

Creare un test

Figura 46. Creazione di un test.

Copiare un test

Figura 47. Copia di un test.

Esportare le configurazioni host

Dopo aver configurato un host, puoi esportarne le 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 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.

Utilizzare 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 questa directory, quindi puoi selezionarlo dalla scheda File locale quando pianifichi un'esecuzione di prova.

cp /path/to/file $HOME/.ats_storage

Selezionare un file locale

Figura 50. Selezionando un file dalla directory $HOME/.ats_storage.

Puoi montare directory aggiuntive nell'archivio di 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.

Attivare 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. Collega i due host utilizzando i tunnel SSH. Seleziona le porte per le porte del server principale e del server di file, 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

File Cleaner è 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 dei test e per eliminare i file temporanei. Questa guida spiega come personalizzare i criteri e le configurazioni per gestire i file in modo efficace.

Norme

Un criterio 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 mostrati 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 la pagina 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 le espressioni regolari.pattern: espressione regolare, ad esempio [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip per trovare corrispondenze con 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.

Nuovo criterio di pulizia dei file

Figura 53. Aggiungi una nuova norma di pulizia dei file.

Configurazioni

Una configurazione combina uno o più criteri con directory specifiche. I file e le directory all'interno delle directory specificate vengono elaborati in base ai criteri definiti. I criteri vengono applicati 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 pulizia file

Figura 54. Modifica la configurazione di File Cleaner.

Reimposta

Se fai clic su Reimposta impostazioni, la configurazione di Pulizia file viene ripristinata allo stato predefinito. Questa azione cancella TUTTI gli elementi personalizzati.

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