Configurare i test automatici CTS

Prima di poter eseguire i test CTS automatizzati, prepara l'ambiente fisico, configura la workstation e il dispositivo che stai testando.

Configurare l'ambiente fisico

Alcuni test CTS richiedono l'utilizzo di dispositivi esterni da configurare vicino al DUT. Per configurare l'ambiente fisico:

  1. (Facoltativo) Se il DUT supporta Bluetooth LE, posiziona almeno tre beacon Bluetooth LE entro 5 metri dal DUT per il test della scansione Bluetooth LE. Inoltre:

    • I beacon non devono essere configurati o emettere nulla di specifico.
    • I beacon possono essere di qualsiasi tipo, inclusi iBeacon, Eddystone o anche dispositivi che simulano i beacon BLE.
  2. Posiziona lo smartphone davanti a una scena, ad esempio una parete o il soffitto, a una distanza equivalente alla distanza minima di messa a fuoco del DUT. Inoltre:

    • La scena deve avere un'illuminazione sufficiente per consentire ai sensori in fase di test di raggiungere e mantenere il numero massimo di frame al secondo (FPS) di destinazione configurato come specificato in CONTROL_AE_TARGET_FPS_RANGE.
    • Questa configurazione si applica a tutti i sensori della videocamera segnalati da getCameraIdList man mano che il test scorre i dispositivi elencati e misura le prestazioni singolarmente.
    • Se il DUT supporta fotocamere esterne, come le webcam USB, collega una fotocamera esterna quando esegui CTS. In caso contrario, i test CTS non vanno a buon fine.
  3. (Facoltativo) Se il tuo DUT supporta un sistema di posizionamento globale (GPS) o un altro sistema satellitare di navigazione globale (GNSS), fornisci un segnale GNSS al DUT a un livello di segnale adatto per la ricezione e il calcolo della posizione. Inoltre:

    • Il GPS deve essere conforme a ICD-GPS-200C.
    • Il segnale GNSS può essere di qualsiasi tipo, incluso un simulatore di satellite o un ripetitore di segnali esterni.
    • Puoi posizionare il DUT vicino a una finestra in modo che possa ricevere direttamente un segnale GNSS sufficiente da un satellite.
  4. Assicurati che la rete Wi-Fi supporti IPv4 e IPv6, disponga di una connessione a internet con DNS per IPv4 e IPv6, supporti il multicast IP e possa trattare il DUT come un client isolato.

    Se non hai accesso a una rete IPv6 nativa, a una rete operatore IPv6 o a una VPN per superare i test IPv6, utilizza un punto di accesso Wi-Fi e un tunnel IPv6.

  5. Assicurati che sul DUT siano impostati i flag UP, BROADCAST e MULTICAST sull'interfaccia Wi-Fi.

  6. Assicurati che all'interfaccia Wi-Fi siano assegnati indirizzi IPv4 e IPv6. Per controllare le proprietà dell'interfaccia Wi-Fi, esegui adb shell ifconfig.

  7. (Facoltativo) Se il DUT supporta la concorrenza Wi-Fi STA o STA, configura almeno due reti Wi-Fi. Queste reti Wi-Fi devono essere eseguite su bande diverse con SSID diversi o sullo stesso SSID con BSSID diversi.

  8. (Facoltativo) Se il DUT supporta il tempo di round trip (RTT) del Wi-Fi, configura un dispositivo che supporta il Wi-Fi RTT:

    1. Posiziona il dispositivo Wi-Fi RTT entro 12 metri dal DUT.
    2. Accendi il dispositivo Wi-Fi RTT.

    Ecco due dispositivi consigliati che supportano Wi-Fi RTT: - Google Wifi - Punto di accesso fitlet2 di Compulab (impostato su una larghezza di banda di 40 MHz a 5 GHz).

Configurare il computer

Prima di eseguire i test automatici CTS, assicurati che il tuo computer soddisfi i requisiti hardware e del sistema operativo e che abbia installato il software corretto, come descritto nelle sezioni seguenti.

Requisiti hardware di Meet

La macchina desktop CTS deve soddisfare o superare i seguenti requisiti hardware:

  • Un sistema x86 a 64 bit

  • Almeno 256 GB di spazio libero su disco per ospitare il numero maggiore di scenari di test CTS e un aumento della prenotazione dello spazio heap Java in Tradefed

  • Almeno 32 GB di RAM

Soddisfare i requisiti del sistema operativo

  • Sul computer di sviluppo deve essere in esecuzione una distribuzione Linux a 64 bit con GNU C Library (glibc) 2.17 o versioni successive.

  • La lingua del sistema operativo deve essere impostata su "Inglese" per consentire a CTS di risolvere correttamente il percorso.

Installare il software desktop

Per installare il software desktop corretto per CTS:

  1. Installa il pacchetto FFmpeg versione 5.1.3 o successive.

  2. Installa le versioni più recenti di Android Debug Bridge (adb) e Android Asset Packaging Tool (AAPT2) e aggiungi la posizione di questi strumenti al percorso di sistema del tuo computer:

    1. Segui le istruzioni all'inizio della documentazione di SDK Manager per installare lo strumento a riga di comando sdkmanager. Il link per scaricare gli strumenti a riga di comando si trova nella sezione Solo strumenti a riga di comando in fondo alla pagina di download di Android Studio.
    2. Aggiorna il percorso di sistema in modo da includere la posizione di sdkmanager appena installato.
    3. Utilizzando sdkmanager, installa i pacchetti platform-tools e build-tools più recenti. Questi pacchetti contengono adb e AAPT2. Per informazioni sull'installazione dei pacchetti, vedi Installare i pacchetti.
    4. Aggiorna il percorso in modo da includere la posizione degli strumenti adb e AAPT2 appena installati.
    5. Verifica che adb e AAPT2 siano nel percorso.
  3. Installa la versione corretta di Java Development Kit (JDK):

  4. (facoltativo) Per Android 13 e 14, installa virtualenv. Lo strumento virtualenv è necessario per i test su più dispositivi.

  5. Per assicurarti che Python sia installato, digita python3. Dovrebbero essere visualizzati la versione di Python e la data, a indicare che Python è installato correttamente.

  6. Scarica e apri i pacchetti CTS da Download del Compatibility Test Suite che corrispondono alla versione di Android dei tuoi dispositivi e a tutte le interfacce binarie dell'applicazione (ABI) supportate dai tuoi dispositivi.

  7. Scarica e apri l'ultima versione dei file multimediali CTS. I file multimediali includono video clip di Big Buck Bunny, protetti da copyright dalla Blender Foundation ai sensi della licenza Creative Commons Attribution 3.0.

  8. (facoltativo) Quando esegui CTS per la prima volta, scarica dinamicamente alcuni file CTS correlati a Mainline. A seconda della velocità della rete, questo download aggiunge 10 minuti o più al tempo di esecuzione di CTS.

    Per evitare questo tempo di esecuzione aggiuntivo di CTS, puoi scaricare i file CTS correlati a Mainline prima di eseguire CTS. Per informazioni sul download dei file CTS correlati a Mainline, consulta Download dei file CTS correlati a Mainline.

Prepara il DUT

Dopo aver configurato la macchina desktop, devi configurare il DUT.

Configurare il DUT

Per configurare il DUT:

  1. Assicurati che il DUT esegua un'immagine di sistema basata sulla build utente nota per essere compatibile (Android 4.0 o versioni successive) da Codenames, Tags, and Build Numbers e utilizzi la variante di build user. Per saperne di più sulle varianti di build, consulta Scegliere una destinazione.

  2. Se il DUT esegue Android 13 o versioni successive, assicurati che la build abbia ro.product.first_api_level impostato sul livello API con cui il dispositivo è stato lanciato commercialmente. Per impostare questo valore, apporta la seguente modifica al file device.mk:

    PRODUCT_SHIPPING_API_LEVEL := 21
    

    Alcuni requisiti CTS dipendono dalla build con cui è stato originariamente spedito un dispositivo. Ad esempio, i dispositivi forniti originariamente con build precedenti potrebbero essere esclusi dai requisiti di sistema che si applicano ai dispositivi forniti con build successive. Per i valori validi del livello API, vedi Nomi in codice, tag e numeri build. Per ulteriori informazioni su ro.product.first_api_level, consulta Livello API fornitore.

    Per Android 10 o versioni precedenti, vedi Configurare CTS (AOSP 10 o versioni precedenti).

  3. Se il tuo dispositivo supporta la gestione dei pacchetti APEX:

    1. Scarica il pacchetto shim APEX per la tua versione di Android e l'architettura hardware specifiche. Le prime due colonne della tabella pacchetti shim forniscono i link per scaricare il pacchetto.
    2. Copia il pacchetto scaricato in /system/apex.
    3. Rinomina il file in com.android.apex.cts.shim.apex.
  4. Se il tuo dispositivo non supporta la gestione dei pacchetti APEX:

    1. Scarica i pacchetti shim APEX per la versione di Android e l'architettura hardware specifiche. Le due colonne a destra nella tabella shim packages forniscono i link ai pacchetti da scaricare.
    2. Copia CtsShim.apk in /system/app/
    3. Rinomina CtsShim.apk in CtsShimPrebuilt.apk
    4. Copia CtsShimPriv.apk in /system/priv-app/
    5. Rinomina CtsShimPriv.apk in CtsShimPrivPrebuilt.apk
  5. Se il tuo dispositivo segnala più di un elemento sicuro:

    1. Scarica google-cardlet.cap.
    2. Copia il file scaricato in /data/uicc/cardlets/.
  6. Se il dispositivo segnala più di un elemento sicuro, installa l'applet di esempio nell'elemento sicuro incorporato (eSE) del DUT o nella scheda SIM utilizzata dal DUT. Per maggiori informazioni, consulta Test CTS per Secure Element.

  7. Se il dispositivo non ha uno schermo integrato, collegalo a un monitor.

  8. Se il dispositivo ha uno slot per schede di memoria, inserisci una scheda SD vuota. Utilizza una scheda SD che supporti un bus UHS (Ultra High Speed) con capacità SDHC o SDXC oppure una scheda con classe di velocità 10 o superiore per assicurarti che possa superare il CTS.

  9. Se il dispositivo è dotato di slot per schede SIM, inserisci una scheda SIM attivata in ogni slot. Se il dispositivo supporta gli SMS, ogni scheda SIM deve avere il proprio campo del numero compilato. Per i dispositivi con Android 12 o versioni successive, tutte le schede SIM devono supportare la memorizzazione dei numeri di selezione rapida (ADN). Le schede GSM e USIM con il file dedicato alle telecomunicazioni (DFTelecom) soddisfano questo requisito.

  10. Assicurati che il dispositivo abbia una SIM con privilegi di operatore CTS che soddisfi i requisiti specificati in Preparare la UICC.

Configura il DUT

Per configurare il DUT per l'utilizzo con CTS, segui questi passaggi.

Sul DUT:

  1. Ripristina i dati di fabbrica del dispositivo.

  2. Imposta la lingua del dispositivo su Inglese (Stati Uniti).

  3. Se il dispositivo supporta la personalizzazione dei caratteri predefiniti, assicurati che la famiglia di caratteri sans-serif predefinita sia impostata su Roboto.

  4. Se sul dispositivo è presente una funzionalità GPS o una rete Wi-Fi o mobile, attiva l'impostazione della posizione.

  5. Connettiti a una rete Wi-Fi che supporta IPv6, può trattare il DUT come un client isolato e dispone di una connessione a internet. Per una spiegazione dei client isolati, vedi Configurare l'ambiente fisico.

  6. Assicurati che non sia impostata una sequenza di blocco o una password.

  7. Attiva debug USB:

    1. Vai a Impostazioni > Informazioni sullo smartphone e tocca Numero build sette volte. Le Opzioni sviluppatore vengono visualizzate nella categoria Sistema delle impostazioni.

    2. Tocca Debug USB.

    Per attivare il debug USB su Android 10 o versioni precedenti, vedi Configurare CTS (AOSP 10 o versioni precedenti).

  8. Imposta l'ora nel formato a 12 ore.

  9. Attiva Opzioni sviluppatore > Non spegnere schermo.

  10. Disattiva la verifica app tramite USB:

    1. Vai a Opzioni sviluppatore.

    2. Tocca Verifica app tramite USB.

  11. In Android 13 o versioni successive, attiva il modem simulato:

    1. Vai a Opzioni sviluppatore.

    2. Tocca Consenti modem fittizio.

    Questa impostazione è necessaria per test di telefonia specifici.

Sul computer:

  1. Avvia il browser e chiudi qualsiasi schermata di avvio o configurazione.

  2. Collega il DUT alla macchina desktop utilizzando un cavo USB.

  3. Se il sistema ti chiede di accettare una chiave RSA che consente il debug tramite questo computer, fai clic su Consenti debug USB.

  4. Imposta Roboto2 come carattere sans-serif utilizzando un'impostazione accessibile all'utente (non nascosta).

  5. Copia i file multimediali CTS sul DUT:

    1. Vai (cd) al percorso in cui vengono scaricati e decompressi i file multimediali.
    2. Modifica le autorizzazioni del file:

      chmod u+x copy_media.sh
      
    3. Copia i file:

      • Per copiare clip con una risoluzione massima di 720 x 480, esegui:

        ./copy_media.sh 720x480
      • Se non conosci la risoluzione massima, copia tutti i file:

        ./copy_media.sh all
      • Se sono presenti più DUT, aggiungi l'opzione seriale (-s) di un dispositivo specifico alla fine. Ad esempio, per copiare fino a 720x480 sul dispositivo con numero di serie 1234567, esegui:

        ./copy_media.sh 720x480 -s 1234567

Scaricare i file CTS correlati a Mainline

Per scaricare i file CTS correlati a Mainline:

  1. Recupera il livello API Android sul dispositivo eseguendo:

    adb shell getprop ro.build.version.sdk
    
  2. Segui le istruzioni nello script download_mcts.sh per scaricare i file CTS Mainline.

    Il download richiede almeno 10 minuti, a seconda della velocità della rete.

Pacchetti shim

La tabella seguente elenca i pacchetti disponibili per ogni versione e architettura del dispositivo:

Versione dispositivo Pacchetti (se APEX è supportato) Pacchetti (se APEX non è supportato)
ABILITA x86 ABILITA x86
Android 16 16-arm-release android16-x86-release android16-arm-CtsShim.apk

android16-arm-CtsShimPriv.apk

android16-x86-CtsShim.apk

android16-x86-CtsShimPriv.apk

Android 15 15-arm-release android15-x86-release android15-arm-CtsShim.apk

android15-arm-CtsShimPriv.apk

android15-x86-CtsShim.apk

android15-x86-CtsShimPriv.apk

Android 14 android14-arm-release android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-arm-release android13-x86-release android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-arm-release android12-x86-release android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-arm-release android11-x86-release android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 android10-release android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O e O-MR1 N/D N/D arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Passaggi successivi

Dopo aver letto questo documento, continua a Eseguire test CTS automatici.