Trade Federation è un framework di test continuo per l'esecuzione di test sui dispositivi Android. Per eseguire la suite di test di compatibilità (CTS), leggi prima la panoramica di Trade Federation per una spiegazione del framework di test Tradefed.
Per eseguire un piano di test:
- Configura i dispositivi in test (DUT) come descritto nella sezione Configurazione del dispositivo Android.
- Assicurati di aver installato le versioni recenti di Android Debug Bridge (adb) e Android Asset Packaging Tool (AAPT) e di aver aggiunto la posizione di questi strumenti al percorso di sistema del computer. Per informazioni sull'installazione di questi strumenti, consulta Configurazione di CTS: ADB e AAPT.
- Scarica le build CTS rilasciate sulla macchina host Linux e decomprimi la build nella posizione host.
- Collega almeno un dispositivo. Per preparare il DUT:
- Premi il tasto Home per impostare il dispositivo sulla schermata Home.
- Non utilizzare il DUT per altre attività.
- Mantieni il DUT in posizione stazionaria per evitare di attivare l'attività del sensore.
- Punta la fotocamera del dispositivo verso un oggetto su cui è possibile mettere a fuoco.
- Non premere alcun tasto sul dispositivo mentre il CTS è in esecuzione. La pressione dei tasti o il tocco dello schermo di un DUT interferisce con i test in esecuzione e può causare errori di test.
Avvia lo script cts-tradefed della console CTS dalla cartella in cui è stato scompattato il pacchetto CTS. Nella shell a riga di comando dell'host, esegui:
./android-cts/tools/cts-tradefed
Esegui il piano di test predefinito (contiene tutti i pacchetti di test):
- Per CTS 11 e versioni precedenti
cts-tradefed > run cts
Per CTS 12 e versioni successive
cts-console > run cts
Se vuoi migliorare il tempo di esecuzione dei test, puoi suddividere i test su più dispositivi. Lo sharding richiede che l'host colleghi almeno due dispositivi, ma per motivi di efficienza sono consigliati almeno sei dispositivi. Quando esegui lo sharding di più di un dispositivo:
Per Android 9 e versioni successive, utilizza l'opzione di comando
--shard-count number_of_shards
Per Android 8.1 e versioni precedenti, utilizza l'opzione di comando
--shards number_of_shards
Se non vuoi eseguire l'intera suite di test, puoi eseguire il piano CTS che preferisci dalla riga di comando:
run cts --plan test_plan_name
Per trovare il nome del piano di test:
Per Android 7.0 e versioni successive, per visualizzare un elenco di moduli di test, inserisci
list modules
Per Android 6.0 e versioni precedenti, per visualizzare un elenco di piani di test nel repository, inserisci
list plans
Per Android 6.0 e versioni precedenti, per visualizzare un elenco dei pacchetti di test nel repository, inserisci
list packages
Per ulteriori opzioni di comando a seconda delle versioni CTS, consulta il riferimento ai comandi della console o la sezione "help all" nella console Tradefed.
- Per CTS 11 e versioni precedenti
Esegui più sessioni di nuovo tentativo finché non sono stati completati tutti i moduli di test e i numeri di errori di test sono gli stessi nelle ultime due sessioni di nuovo tentativo.
Per Android 9 e versioni successive, utilizza
run retry --retry session_number --shard-count number_of_shards
Per Android 7.0-8.1, utilizza
run cts --retry session_number --shards number_of_shards
Per altre opzioni del comando Riprova a seconda della versione di CTS, consulta la console di comando CTS v2.
Per informazioni dettagliate sull'implementazione del nuovo tentativo CTS, consulta Nuovo tentativo di Trade Federation Suite.
Esegui una sessione di ripetizione solo per i test con parametri non riusciti. I test parametrici superati non vengono ripetuti.
Per Android 11 e versioni successive, la seguente opzione di comando di ripetizione è attivata per impostazione predefinita nel comando
run cts
:run retry --retry
--new-parameterized-handling
Visualizza l'avanzamento e i risultati dei test registrati nella console.
Esegui CTS utilizzando Android Test Station
Android Test Station è uno strumento di automazione dei test che gli sviluppatori Android e gli ingegneri di test possono utilizzare per impiegare un'interfaccia utente per l'esecuzione di suite di test standard. Funziona con la suite di test di compatibilità Android (CTS).
Lo strumento è disponibile pubblicamente tramite la guida utente di ATS e il codice è open source in AOSP (multitest_transport
, tradefed_cluster
).
Esegui CTS per le modalità alternative
La release CTS 10 R4 aggiunge un piano di test per i dispositivi con modalità alternative o per i dispositivi con più di uno schermo. Esegui il piano di test delle modalità alternative utilizzando
run cts-foldable
.
I casi di test superati o non superati per la modalità schermo alternativa vengono aggiunti con il valore di display_mode
, ad esempio testcase1[display_mode=0]
.
In CTS 13, l'API DeviceStateManager consente di eseguire i moduli di test con la seguente
opzione di configurazione in diversi stati del dispositivo di un dispositivo pieghevole.
L'esecuzione dei test è automatica in CTS in base agli stati di chiusura del display
definiti nel dispositivo senza dover eseguire il piano di test cts-foldable
.
<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />
Test multi-dispositivo in CTS
Android 13 e versioni successive supportano i test multi-dispositivo.
I test che richiedono più dispositivi vengono eseguiti automaticamente durante l'esecuzione del CTS.
CTS 13 include alcuni test multi-dispositivo che si attivano automaticamente quando viene utilizzato lo sharding. Sebbene i test non richiedano modifiche aggiuntive alla configurazione fisica,virtualenv
deve essere installato per consentirne l'esecuzione corretta. Per maggiori dettagli, consulta Suite per più dispositivi.
Eseguire test multi-dispositivo
Per eseguire i test multi-dispositivo in modo indipendente, utilizza il seguente codice:
cts-tradefed > run cts-multidevice
Sono supportate tutte le opzioni standard. Per scegliere come target dispositivi specifici, aggiungi--serial <serial1> --serial <serial2>
e così via per il numero di dispositivi scelto come target.
Per attivare automaticamente i test su più dispositivi, utilizza lo sharding, come in --shard-count 2
.