Architettura tradefed

Questa sezione descrive gli interni di Tradefed e le loro relazioni. Vedi le sottopagine collegate per maggiori dettagli.

Provare le configurazioni

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 speciale configurazione XML di Tradefed che viene caricata all'avvio di Tradefed tramite la variabile di ambiente TF_GLOBAL_CONFIG . Carica oggetti relativi all'ambito dell'istanza Tradefed che influenzeranno il comportamento generale del cablaggio.

Dettagli della configurazione globale

Archivio chiavi

Keystore consente l'inserimento 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 recuperando le password direttamente dal keystore.

Dettagli dell'archivio chiavi

Gestore dispositivi

Il gestore dei dispositivi è responsabile di tenere traccia dello stato dei dispositivi su un'istanza di Tradefed in esecuzione. Vengono monitorati aspetti come lo stato di assegnazione e lo stato online.

Testare lo scheduler dei comandi

Lo scheduler dei comandi di test in Tradefed accetta i comandi da eseguire, li associa ai dispositivi e avvia un'invocazione di test.

Costruisci fornitore

Il provider di compilazione è il primo passaggio di qualsiasi chiamata di test. Scarica le risorse necessarie per impostare ed eseguire i test (creare immagini, testare APK e altro ancora). Fa inoltre riferimento ad essi in un oggetto BuildInfo che verrà passato al test. Le risorse disponibili localmente possono anche essere collegate nell'oggetto BuildInfo .

Preparatore e pulitore di target

Il preparatore del target offre azioni opzionali che possono essere intraprese per configurare il target in prova in un determinato stato, ad esempio lampeggiando il dispositivo, impostando determinate proprietà e connettendosi al Wi-Fi.

Corridore di prova

Un test runner in Tradefed si riferisce all'oggetto responsabile dell'effettiva esecuzione del test. Diversi test runner guidano l'esecuzione dei test in modi diversi; ad esempio, un test runner della strumentazione sarà molto diverso da un test runner JUnit.

Reporter dei risultati

Il reporter dei risultati in Tradefed si riferisce all'oggetto che invierà i risultati a una destinazione particolare. Ogni implementazione è solitamente specializzata per diversi back-end di risultati. E il reporter dei risultati è incaricato di convertire il formato dei risultati Tradefed nel formato di destinazione.

Questo design flessibile consente di riportare qualsiasi test a qualsiasi destinazione dei risultati e di aggiungere facilmente più test in modo isolato.

Raccoglitore di metriche

Il raccoglitore di 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 influenzano il comportamento del cablaggio nel suo insieme per adattarsi a diversi ambienti, ad esempio trovarsi in una rete limitata.

Caratteristiche aggiuntive

Le sezioni seguenti descrivono l'utilizzo generale degli oggetti Tradefed anziché degli oggetti Tradefed.

Sharding tradefed

Quando il corpus di test è grande o richiede molto tempo per essere eseguito, è possibile suddividerlo su più dispositivi. Chiamiamo questa suddivisione come sharding . Questa sezione descrive come funziona lo sharding e come è configurato.

Dettagli di condivisione

Utilizzando SL4A

Tradefed supporta il livello di scripting per Android, SL4A; si tratta di un set di strumenti di automazione per chiamare le API Android in modo indipendente dalla piattaforma.

SL4A con dettagli Tradefed

Download dinamico @option

In alcuni casi, i file necessari per un test o per qualche operazione particolare non sono disponibili localmente. Questa funzionalità consente a Tradefed di ottenere questi file da una posizione remota senza passare attraverso un fornitore di build.

Download dinamico @option