Architettura TradeFed

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.

Dettagli dell'archivio chiavi

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.

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.

Dettagli sul partizionamento

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.

SL4A con dettagli di Tradefed

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.

Download dinamico di @option