Questa sezione descrive il funzionamento interno di Tradefed e le relative relazioni. Per maggiori dettagli, consulta le sottopagine collegate.
Configurazioni di test
Le configurazioni di test in Tradefed sono descritte in 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 Tradefed speciale che viene
caricata all'avvio di Tradefed tramite la variabile di ambiente TF_GLOBAL_CONFIG
. Carica gli oggetti correlati all'ambito dell'istanza Tradefed che influenzeranno il comportamento complessivo dell'ambiente di test.
Dettagli della configurazione globale
Archivio chiavi
Keystore consente l'inserimento di opzioni della riga di comando in Tradefed da un keystore per evitare di fare riferimento al valore direttamente nella riga di comando. Può essere utilizzato per nascondere le password dalla riga di comando recuperandole direttamente dal keystore.
Gestore dispositivi
Il gestore dei dispositivi è responsabile del monitoraggio dello stato dei dispositivi in un'istanza in esecuzione di Tradefed. Vengono monitorati aspetti come lo stato di allocazione e lo stato online.
scheduler dei comandi di test
Lo strumento di pianificazione dei comandi di test in Tradefed accetta i comandi da eseguire, li associa ai dispositivi e avvia una chiamata di test.
Build provider
Il fornitore di build è il primo passaggio di qualsiasi chiamata di test. Scarica le risorse
necessarie per configurare ed eseguire i test (crea immagini, APK di test e altro ancora). Inoltre, fa riferimento a questi
in un oggetto BuildInfo
che verrà passato al test. Le risorse disponibili localmente possono essere collegate anche nell'oggetto BuildInfo
.
Preparatore e pulitore di bersagli
Target preparer offre azioni facoltative che possono essere eseguite per configurare il target in fase di test in un determinato stato, ad esempio il flashing del dispositivo, l'impostazione di determinate proprietà e la connessione alla rete 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 strumentazione sarà molto diverso da un runner di test JUnit.
Reporter dei risultati
Il reporter dei 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 reporter dei 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 una qualsiasi delle destinazioni dei risultati e di aggiungere facilmente altri test in modo isolato.
- Aggiungere un reporter dei risultati
- Reporter dei risultati e log
- Riepilogo del reporter dei risultati
Raccolta 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 influiscono sul comportamento dell'intera harness per adattarsi a diversi ambienti, ad esempio una rete con limitazioni.
Altre funzionalità
Le sezioni seguenti descrivono l'utilizzo generale di Tradefed anziché degli oggetti Tradefed.
Sharding di Tradefed
Quando il corpus di test è grande o richiede molto tempo per l'esecuzione, è possibile dividere il test su più dispositivi. Ci riferiamo a questa suddivisione come sharding. Questa sezione descrive come funziona lo sharding e come viene configurato.
Utilizzo di SL4A
Tradefed supporta il livello di scripting per Android, SL4A, che è un insieme di strumenti di automazione per chiamare le API Android in modo indipendente dalla piattaforma.
Download dell'opzione dinamica
In alcuni casi, i file necessari per un test o una particolare operazione non sono disponibili localmente. Questa funzionalità consente a Tradefed di ottenere questi file da una posizione remota senza passare attraverso un fornitore di build.