Esegui i test CTS

Trade Federation è un framework di test continuo per l'esecuzione di test su dispositivi Android. Per eseguire la Compatibility Test Suite (CTS), leggi prima la Panoramica della Trade Federation per una spiegazione del framework di test Tradefed.

Per eseguire un piano di test:

  1. Configura i dispositivi sotto test (DUT) come da configurazione del dispositivo Android .
  2. 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 tali strumenti al percorso di sistema del tuo computer. Per informazioni sull'installazione di questi strumenti, vedere Configurazione di CTS: ADB e AAPT.
  3. Scarica le build CTS rilasciate sul tuo computer host Linux e decomprimi la build nella posizione dell'host.
  4. Connetti almeno un dispositivo. Per preparare il DUT:
    • Premere il pulsante Home per impostare il dispositivo sulla schermata iniziale.
    • Non utilizzare il DUT per altre attività.
    • Mantenere il DUT in una posizione stazionaria per evitare di attivare l'attività del sensore.
    • Punta la fotocamera del dispositivo verso un oggetto che può essere messo a fuoco.
    • Non premere alcun tasto sul dispositivo mentre il CTS è in esecuzione. La pressione di tasti o il tocco dello schermo di un DUT interferisce con l'esecuzione dei test e può portare al fallimento dei test.
  5. Avvia lo script cts-tradefed della console CTS dalla cartella in cui è stato decompresso il pacchetto CTS. Sulla shell della riga di comando dell'host, esegui:

    ./android-cts/tools/cts-tradefed
  6. Esegui il piano di test predefinito (contiene tutti i pacchetti di test):

    cts-tradefed > run cts
    • Se desideri migliorare i tempi di esecuzione dei test, puoi suddividerli su più dispositivi. Lo sharding richiede che l'host connetta almeno due dispositivi, ma per ragioni di efficienza si consigliano sei o più dispositivi. Quando si esegue lo sharding di più di 1 dispositivo:

      • Per Android 9 e versioni successive, utilizza l'opzione comando

        --shard-count number_of_shards
      • Per Android 8.1 e versioni precedenti, utilizza l'opzione comando

        --shards number_of_shards
    • Se non desideri eseguire l'intera suite di test, puoi eseguire il piano CTS di tua scelta 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, immettere

        list modules
      • Per Android 6.0 e versioni precedenti, per visualizzare un elenco di piani di test nel repository, immettere

        list plans
      • Per Android 6.0 e versioni precedenti, per visualizzare un elenco di pacchetti di test nel repository, immettere

        list packages
    • Per ulteriori opzioni di comando a seconda delle versioni CTS, fare riferimento al riferimento ai comandi della console o alla sezione "aiuta tutti" nella console Tradefed.

  7. Eseguire più sessioni di tentativi finché tutti i moduli di test non vengono completati e i numeri di errori di test sono gli stessi nelle ultime due sessioni di tentativi.

    • Per Android 9 e versioni successive, utilizzare

      run retry --retry session_number --shard-count number_of_shards
    • Per Android 7.0–8.1, utilizzare

      run cts --retry session_number --shards number_of_shards
    • Per ulteriori opzioni del comando Riprova a seconda della versione di CTS, vedere Console dei comandi CTS v2 .

    • Per comprendere i dettagli di implementazione per il nuovo tentativo CTS, vedere Nuovo tentativo di Trade Federation Suite .

  8. Eseguire una sessione di tentativi solo sui test parametrizzati non riusciti. I test parametrizzati superati non vengono ritentati.

    • Per Android 11 e versioni successive, la seguente opzione di comando riprova è abilitata per impostazione predefinita nel comando run cts :

      run retry --retry  --new-parameterized-handling
  9. Visualizza l'avanzamento del test e i risultati riportati sulla 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 utilizzare un'interfaccia utente per l'esecuzione di suite di test standard. Funziona con Android Compatibility Test Suite (CTS) .

Lo strumento è disponibile pubblicamente tramite la Guida per l'utente di ATS e il suo codice è open source in AOSP ( multitest_transport , tradefed_cluster ).

Esegui CTS per modalità alternative

La versione CTS 10 R4 aggiunge un piano di test per dispositivi con modalità alternative o per dispositivi con più di uno schermo. Esegui il piano di test delle modalità alternative utilizzando run cts-foldable .

Ai casi di test superati o falliti per la modalità schermo alternativo viene aggiunto il valore di display_mode , ad esempio testcase1[display_mode=0] .

In CTS 13, l'API DeviceStateManager consente di eseguire moduli di test con la seguente opzione di configurazione su diversi stati del dispositivo pieghevole. L'esecuzione del test è automatica in CTS in base agli stati di ripiegamento del display definiti nel dispositivo senza la necessità di 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 di CTS. CTS 13 include alcuni test multi-dispositivo che si attivano automaticamente quando viene utilizzato lo sharding. Sebbene i test non richiedano ulteriori modifiche alla configurazione fisica, virtualenv deve essere installato affinché i test vengano eseguiti correttamente. Per i dettagli, vedere Suite multi-dispositivo .

Esegui test multi-dispositivo

Per eseguire test multi-dispositivo in modo indipendente, utilizzare il seguente codice:

  cts-tradefed > run cts-multidevice
  

Sono supportate tutte le opzioni normali. Per scegliere come target dispositivi specifici, aggiungi --serial <serial1> --serial <serial2> e così via per il numero di dispositivi target.

Per attivare automaticamente test multi-dispositivo, utilizzare lo sharding, come in --shard-count 2 .