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.
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.
- Aggiungi un reporter dei risultati
- Reporter e registri dei risultati
- Riepilogo del reporter dei risultati
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.
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.
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.