Android Test Station OmniLab

OmniLab ATS è uno strumento di test che gli sviluppatori Android e i tecnici di test possono utilizzare per impiegare un'interfaccia utente per eseguire suite di test Android standard, come Android Compatibility Test Suite (CTS). Questo strumento funge da interfaccia web per vari framework di test, ad esempio Trade Federation (TF) e Google Mobly, consente di eseguire test CTS e multi-dispositivo su una serie di dispositivi di test con una configurazione minima e stabilire una programmazione per l'esecuzione continua dei test.

Configurare OmniLab ATS

Questa sezione spiega come installare e configurare OmniLab ATS.

OmniLab ATS utilizza il codice sorgente da queste posizioni:

Installa OmniLab ATS

Segui gli eventuali requisiti hardware e software delle 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 consigliamo di utilizzare il Requisito per l'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.

Installa manualmente

Installa Docker
  1. Segui le istruzioni per l'installazione di Docker Community Edition (CE) sulla tua macchina Linux.

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

  3. Per applicare le modifiche alle autorizzazioni, potrebbe essere necessario riavviare la finestra del terminale o uscire e accedere di nuovo.

Installa Python 3

La CLI OmniLab ATS è stata verificata in base alle versioni di Python da 3.7 a 3.11.

Per Ubuntu 16.04 o versioni precedenti, aggiungi prima il repository per Python 3 eseguendo una delle seguenti operazioni:

  • 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 3.10), esegui questi comandi:

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

Ottenere l'interfaccia a riga di comando 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, l'interfaccia utente potrebbe richiedere alcuni minuti prima di essere visualizzata. La CLI visualizza un URL web per accedere all'interfaccia utente 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 controllare le note di rilascio per le ultime release.

Per eseguire l'aggiornamento alla versione corrente, esegui:

mtt start --force_update

Per interrompere l'app, esegui:

mtt stop

Per visualizzare un elenco di altri comandi, utilizza:

mtt --help

Esegui il backup e ripristina il database

Per eseguire il backup del database OmniLab ATS, interrompi l'app ed esegui il seguente 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 guiderà attraverso alcuni passaggi che ti aiuteranno a personalizzare lo strumento per il tuo ambiente. Eventuali modifiche apportate qui possono essere riconfigurate in un secondo momento tramite la pagina Impostazioni.

Ripristinare 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 il backup della configurazione

Figura 1. Ripristino di un backup della configurazione.

Impostare l'account di servizio predefinito

Puoi impostare un account di servizio utilizzato per impostazione predefinita da OmniLab ATS per accedere alle tue risorse (ad esempio, Google Cloud Storage, Google Drive). Per autenticare il tuo account di servizio, fai clic su Carica chiave account di servizio e seleziona il file della chiave JSON dell'account di servizio.

Imposta l'account di servizio

Figura 2. Impostazione dell'account di servizio.

Quando l'autenticazione dell'account di servizio è andata a buon fine, l'indirizzo email dell'account viene visualizzato nell'angolo in alto a destra della pagina. Per modificare l'account di servizio, fai clic sul nome dell'account, rimuovi l'account predefinito corrente e carica una nuova chiave dell'account di servizio.

Modificare l'account di servizio

Figura 3. Modifica dell'account di servizio.

Importare set di configurazione

Un set di configurazioni è un insieme di configurazioni per l'esecuzione di suite di test, incluse le azioni relative ai dispositivi 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 compilazione GCS con il tuo Account Google, viene visualizzato un elenco di tutti i set di configurazione a tua disposizione.

Seleziona gli eventuali set di configurazione da aggiungere all'host della stazione di test e fai clic su Importa elementi selezionati.

Importa set di configurazione

Figura 4. Importazione di un set di configurazione.

Includi le impostazioni Wi-Fi

Alcuni test CTS richiedono la connessione del dispositivo a un hotspot Wi-Fi. Per selezionare la rete Wi-Fi, inserisci l'SSID Wi-Fi e l'eventuale 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, il debug USB deve essere abilitato. Per attivare il debug:

  1. Segui le istruzioni riportate in Attivare 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 debugging USB dopo il flashing del dispositivo per i dispositivi su cui sono in esecuzione queste build.

  3. Collega il dispositivo alla macchina host tramite USB.

    Il dispositivo viene visualizzato nella scheda Dispositivi ATS OmniLab entro un minuto dall'aggiornamento dell'interfaccia web. Puoi anche visualizzare lo stato dei dispositivi in questa scheda.

    Collegare un dispositivo

    Figura 6. Connessione di un dispositivo in corso...

I diversi stati del dispositivo sono:

  • Disponibile: il dispositivo è connesso e pronto per eseguire un test.
  • Allocato: il dispositivo è connesso ed è in corso un test. Ogni dispositivo può eseguire un solo test alla volta, quindi deve completare il test in corso prima di eseguirne uno nuovo.

Esecuzione di un test

Seleziona un test

OmniLab ATS è dotato di un insieme di configurazioni CTS pre-pacchettizzate. 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. Selezionare un test.

Per modificare o aggiungere nuovi test, consulta la sezione Aggiungere test.

Configura l'esecuzione del test

Modifica i parametri da utilizzare per questa esecuzione di test specifica. La maggior parte dei parametri è precompilata con i valori definiti nella configurazione del test selezionata.

Questo passaggio può essere completato utilizzando i valori predefiniti, ma puoi modificare uno qualsiasi dei parametri, ad esempio Numero massimo di tentativi e Comando, in base alle tue esigenze.

Configura l'esecuzione del test

Figura 8. Configurazione di un'esecuzione di test.

I parametri di esecuzione del test sono:

  • Nome: il nome del set di test da eseguire.
  • Conteggio esecuzioni: numero di volte in cui questa esecuzione di test deve essere eseguita secondo la pianificazione. Le esecuzioni dei test vengono pianificate utilizzando Trade Federation, che esegue fino a 20 esecutioni di test in parallelo, se è presente la capacità per farlo.
  • Numero massimo di nuovi tentativi: il numero massimo di volte in cui è necessario ripetere un test nel caso in cui almeno uno di test non vada a buon fine. In genere, questo valore è impostato su 4-6 tentativi per un'esecuzione completa del CTS per gestire i test inaffidabili.
  • Timeout coda: se un'esecuzione di test rimane nello stato In coda troppo a lungo, 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 ulteriori 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 di test precedente: se vuoi ripetere un'esecuzione di test precedente:

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

      Esecuzione del test locale precedente

      Figura 9. Esecuzione di test locale precedente.

    • 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 dei test e selezionando un file dal tuo spazio di archiviazione locale.

      Esecuzione del test precedente da remoto

      Figura 10. Esecuzione del test precedente da remoto.

Seleziona dispositivi

Fai clic sulle caselle di controllo per selezionare i dispositivi da allocare per l'esecuzione del set 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:

  • ID build
  • numero_dispositivo
  • device_type
  • nome host
  • prodotto
  • product_variant
  • stato_sim

Tutti i dispositivi selezionati devono essere nello stato Disponibile per eseguire la prova, e tutti passano allo stato Allocato quando viene eseguita la prova. Un esecuzione di test è in stato In coda mentre è in attesa che i dispositivi diventino disponibili.

Aggiungi 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 dispositivo, consulta Creare una nuova azione dispositivo.

Azioni dispositivo

Figura 12. Azioni del dispositivo.

Per aggiungere un'azione del dispositivo a un'esecuzione di test, fai clic su Aggiungi nuova azione, seleziona le caselle di controllo corrispondenti alle azioni da aggiungere e fai clic su Aggiungi azioni. 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 di compilazione.

L'URL di download del file ZIP della suite di test dovrebbe essere predefinito per i link di Google Drive forniti ai partner. Puoi selezionare un altro file facendo clic su Sfoglia. Nella finestra popup, puoi inserire un link per il download di un file, utilizzare un file da un canale di compilazione 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 all'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 Grive, Google Cloud Storage (GCS) o su altri canali, puoi anche accedere alla scheda del canale specifico e selezionare le risorse da lì. Ecco un esempio di selezione di una risorsa da Google Drive.

Testare il selettore di risorse - Google Drive

Figura 16. Testa il selettore di risorse - Google Drive.

Oltre a selezionare i 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 dei file di OmniLab ATS. Puoi caricare file in questo spazio di archiviazione o utilizzare direttamente file e directory locali.

Selettore risorse di test - Archivio file locale

Figura 18. Selettore risorse di test - Archivio file locale.

Aggiungere configurazioni di esecuzione di nuovo

Puoi pianificare le repliche che iniziano al termine dell'esecuzione principale e caricarne i risultati, ma puoi utilizzare dispositivi, azioni o risorse diversi.

Aggiungi configurazioni di esecuzione di nuovo

Figura 19. Aggiunta di configurazioni di esecuzione ripetuta.

Avviare una corsa di prova

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 per visualizzare i dettagli e l'avanzamento dell'esecuzione del test.

Avvia l'esecuzione del test

Figura 20. Avvio di una corsa di prova.

Crea un piano di test

I piani di test vengono utilizzati per creare esecuzioni di test su una pianificazione periodica. Ad esempio, esegui 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 eventuali etichette da 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 programmazione periodica selezionata. Ad esempio, puoi pianificare 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 il piano di test

Figura 22. Configurazione di un piano di test.

Aggiungere suite di test

Aggiungi le suite di test che vuoi pianificare dal 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. 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 dispositivo

Aggiungi le azioni del dispositivo che vuoi vengano eseguite prima di ogni esecuzione del test. Per ulteriori dettagli, consulta Aggiunta di azioni del dispositivo.

Aggiungere 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 equivale all'aggiunta alle singole esecuzioni di test. Per ulteriori dettagli, consulta la sezione Impostare le risorse di test.

Impostare le risorse di test

Figura 25. Impostazione delle risorse di test.

Visualizza esecuzioni test

Elenco esecuzioni test

Visualizza l'elenco delle esecuzioni di test pianificate nella pagina Esecuzioni 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, escluse Status e Created.

Un filtro vuoto restituisce tutte le righe. Al momento non è possibile filtrare in base alle righe con valori vuoti.

Elenco esecuzioni test

Figura 26. Elenco delle esecuzioni di test.

Dettagli sull'esecuzione del test

Qui puoi visualizzare i dettagli di un'esecuzione di test, ad esempio lo stato, i log e i risultati.

Dettagli esecuzione test

Figura 27. Dettagli sull'esecuzione del test.

Stato esecuzione test

L'avanzamento di un'esecuzione del test viene mostrato nella sezione Stato. Se è presente un messaggio correlato, ad esempio avanzamento del download, motivo dell'annullamento o messaggio di errore, viene visualizzato anche qui.

Stato esecuzione test

Figura 28. Stato dell'esecuzione del test.

Gli stati di 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 registrati.
  • Annullato: il test è stato annullato dall'utente o è scaduto il tempo di attesa 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 del test non è stata completata, puoi annullarla facendo clic su Annulla e poi su nella finestra di dialogo di conferma. Le esecuzioni dei test vengono inoltre annullate automaticamente se rimangono nello stato In coda per più tempo del valore del campo queue_timeout_seconds. L'annullamento di un'esecuzione di test in stato In esecuzione potrebbe richiedere alcuni minuti prima di diventare effettivo.

Annulla esecuzione del test

Figura 29. Annullamento di un'esecuzione di test.

Risultati dell'esecuzione del test

Al termine di un'esecuzione del 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 elementi artefatti del 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 dell'host e di Tradefed in tempo reale nella scheda Log.

Log di esecuzione del test

Figura 31. Scheda Log.

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

Scheda Risultati dei test

Figura 32. Scheda Risultati 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 Configurazione.

Scheda Configurazione test

Figura 34. 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 compilazione 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 condividerla 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 dei dispositivi

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, anche prima dei tentativi di ripetizione. Per visualizzare un elenco delle azioni del dispositivo disponibili, vai alla pagina Impostazioni e fai clic sulla scheda Azioni dispositivo. Diverse azioni del dispositivo sono già configurate, ad esempio il riavvio e il flashing.

Scheda Azioni dispositivo

Figura 36. Scheda Azioni dispositivo.

Aggiungere una nuova azione dei dispositivi

  1. Fai clic su Nuova azione dispositivo.

    Pulsante di azione Nuovo dispositivo

    Figura 37. Pulsante di azione per il nuovo dispositivo.

  2. Inserisci un nome e una descrizione.

    Nome azione dispositivo

    Figura 38. Nome dell'azione del dispositivo.

  3. Fai clic su Aggiungi preparatore del target.

  4. Inserisci il nome completo della classe di Trade Federation Target Preparator, ad esempio com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    Aggiungi preparatore del target

    Figura 39. Aggiunta di un preparatore del target.

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

    Elenco dei responsabili della preparazione dei target

    Figura 40. Elenco dei responsabili della preparazione target.

  5. Aggiungi eventuali opzioni da utilizzare con il preparatore di destinazione. Per visualizzare le opzioni disponibili, controlla targetprep per il codice sorgente di ogni preparatore di target in AOSP:

    Esempio di opzione di azione

    Figura 41. Esempio di opzione di azione.

  6. Per aggiungere un'opzione, fai clic su Add Target Preparer Opzione (Aggiungi opzione di preparazione al target) e inserisci i valori obbligatori.

    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 creare immagini 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 di destinazione accettano la directory come risorsa di test, seleziona Decomprimi. Quindi specifica la directory Destinazione relativa nella directory di lavoro temporanea e i Nomi file da decompressi. Se non vengono specificati nomi di file, tutti i file vengono decompressi dalla risorsa di test.

    Risorse per i test delle azioni

    Figura 43. Risorse di test delle azioni.

  8. Fai clic su Aggiorna.

    Azione Salva modifiche

    Figura 44. Modifiche salvate dall'azione.

Gestire i test

Modificare un test

Per modificare un test salvato, vai alla pagina Test e fai clic su Modifica nella riga del test da modificare. Dopo aver modificato la configurazione del test, fai clic su Aggiorna.

Modificare un test

Figura 45. Modifica di un test.

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

Esportare le configurazioni dell'host

Dopo aver configurato un host, puoi esportare le configurazioni dell'host 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 in corso...

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.

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

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

Selezionare un file locale

Figura 50. Selezione di un file dalla directory $HOME/.ats_storage.

Puoi montare altre directory nel file store 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 nel file store locale.

Attivare la modalità multi-host

Con la modalità Multi-host, gli utenti possono utilizzare un singolo host del controller ATS per gestire i dispositivi e i test su più host di lavoro ATS.

Architettura della modalità multi-host

Figura 52. Architettura in 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 per il worker ATS.

  1. Collega 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 programma di pulizia dei file è un cron job che viene eseguito ogni ora per ripulire i file in base alle configurazioni definite dall'utente. ATS offre due configurazioni predefinite per archiviare i risultati dell'esecuzione dei test ed 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 mostrate 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 pytimeparse per conoscere 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 corrispondenze con i codici postali dei risultati.
SYSTEM_AVAILABLE_SPACEAttiva le 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 per la 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 il file config specifica la directory di destinazione come logs, viene interpretata come /data/logs.

Modifica la configurazione del programma di pulizia dei file

Figura 54. Modifica la configurazione del pulitore di file.

Reimposta

Fai clic su Ripristina impostazioni per ripristinare lo stato predefinito della configurazione dello strumento di pulizia dei file. Questa azione cancella TUTTI gli elementi personalizzati.

Ripristinare le impostazioni di Pulizia file

Figura 55. Reimposta le impostazioni di Pulizia file.

Assistenza

Segnalazioni di bug

Il tuo contributo a OmniLab ATS contribuisce a migliorare lo sviluppo dello strumento e abbiamo bisogno del tuo feedback. Per informazioni dettagliate sulla release più recente, 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.