Questa sezione descrive gli elementi interni di Tradefed e le relative relazioni. Per ulteriori dettagli, consulta le sottopagine collegate.
Configurazioni di test
Le configurazioni di test in Tradefed sono descritte in un formato XML. Comprendere la struttura della configurazione è fondamentale per eseguire e personalizzare i test.
Struttura delle configurazioni TF
Configurazioni TF globali
Un file di configurazione globale è una configurazione XML di Tradefed speciale che viene caricata all'avvio di Tradefed tramite la variabile di ambiente TF_GLOBAL_CONFIG
. Carica gli oggetti relativi all'ambito dell'istanza TradeFed che influiscono sul comportamento complessivo dell'harness.
Dettagli della configurazione globale
Archivio chiavi
Il keystore consente l'iniezione di opzioni della riga di comando in Tradefed provenienti da un keystore per evitare di fare riferimento al valore direttamente nella riga di comando. Questo può essere utilizzato per nascondere le password dalla riga di comando recuperandole direttamente dal keystore.
Gestione dispositivi
Il gestore dei dispositivi è responsabile del monitoraggio dello stato dei dispositivi su un'istanza in esecuzione di Tradefed. Vengono monitorati aspetti come lo stato di allocazione e lo stato online.
Programma di pianificazione dei comandi di test
Il programma di pianificazione dei comandi di test in Tradefed prende i comandi da eseguire, li associa ai dispositivi e avvia un'invocazione del test.
Provider di build
Il provider di build è il primo passaggio di qualsiasi chiamata di test. Scarica le risorse necessarie per configurare ed eseguire i test (immagini di compilazione, APK di test e altro ancora). Inoltre, fa riferimento a questi oggetti in un oggetto BuildInfo
che verrà passato al test. Le risorse disponibili localmente possono essere collegate anche nell'oggetto BuildInfo
.
Preparatore e pulitore di target
Lo strumento di preparazione del target offre azioni facoltative che possono essere intraprese per configurare il target in test in un determinato stato, ad esempio per eseguire il flashing del dispositivo, impostare determinate proprietà e connettersi al Wi-Fi.
Test runner
Un test runner in Tradefed si riferisce all'oggetto responsabile dell'esecuzione effettiva del test. Runner di test diversi gestiscono l'esecuzione dei test in modi diversi. Ad esempio, un runner di test di misurazione sarà molto diverso da un runner di test JUnit.
Autore della segnalazione del risultato
Il report sui risultati in TradeFed si riferisce all'oggetto che invierà i risultati a una destinazione specifica. Ogni implementazione è in genere specializzata per diversi backend dei risultati. Il report sui risultati è responsabile della conversione del formato dei risultati di TradeFed nel formato di destinazione.
Questo design flessibile consente a qualsiasi test di generare report per qualsiasi destinazione dei risultati e di aggiungere facilmente altri test in modo isolato.
- Aggiungere un segnalatore di risultati
- Report sui risultati e log
- Riepilogo del segnalatore di risultati
Raccoglitore di metriche
Il raccoglitore delle metriche è un oggetto speciale in Tradefed, ortogonale all'esecuzione del test. Consente la raccolta di informazioni in diversi punti del ciclo di vita del test (ad esempio inizio e fine del test). Poiché il raccoglitore è disaccoppiato dal test stesso, i punti possono essere scambiati, aggiunti e rimossi senza dover modificare il test stesso.
Configurazione a livello di host
Questa sezione descrive le configurazioni applicabili all'esecuzione di un'istanza TradeFed completa. Queste opzioni influiscono sul comportamento dell'harness nel suo complesso per adattarsi a diversi ambienti, ad esempio una rete con limitazioni.
Altre funzionalità
Le sezioni che seguono descrivono l'utilizzo generale di TradeFed anziché degli oggetti TradeFed.
Sharding di TradeFed
Quando il corpus di test è di grandi dimensioni o richiede molto tempo per l'esecuzione, è possibile suddividerlo su più dispositivi. Questa suddivisione è nota come sharding. Questa sezione descrive come funziona e come viene configurato lo sharding.
Utilizzo di SL4A
Tradefed supporta il livello di scripting per Android, SL4A, un set di strumenti di automazione per chiamare le API Android in modo indipendente dalla piattaforma.
Download dinamico @option
In alcuni casi, i file necessari per un test o per una determinata operazione non sono disponibili localmente. Questa funzionalità consente a Tradefed di recuperare questi file da una posizione remota senza passare attraverso un provider di build.