Questa sezione descrive gli elementi interni di Tradefed e le relative relazioni. Per ulteriori dettagli, vedi le pagine secondarie 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 speciale Tradefed che viene
caricata quando Tradefed viene avviato 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 sulla 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 di Tradefed in esecuzione. Vengono monitorati aspetti come lo stato di allocazione e lo stato online.
Testa scheduler
Lo scheduler dei comandi di test in Tradefed accetta i comandi, li associa ai dispositivi e avvia una chiamata di 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 sottoposto a test in un determinato stato, ad esempio per eseguire il flashing del dispositivo, impostare determinate proprietà e connettersi al Wi-Fi.
Corridore del test
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 back-end 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 autore della segnalazione dei risultati
- Report sui risultati e log
- Riepilogo del segnalatore dei risultati
Raccolta delle metriche
Il raccoglitore delle metriche è un oggetto speciale in Tradefed, ortogonale all'esecuzione del test. Consente di raccogliere informazioni in diversi punti del ciclo di vita dei 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 in 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 essere eseguito, è possibile suddividerlo tra 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.