Prove di telefonia ACTS

Il Comms Test Suite Android (ACTS) esegue il test automatizzati di pile di connettività, come Wi-Fi, Bluetooth, e servizi di telefonia mobile. Lo strumento di test richiede adb . e Python, e può essere trovato in tools/test/connectivity/acts .

Questa pagina descrive come eseguire i test di telefonia di base disponibili in Android Open Source Project (AOSP) per un utente con due telefoni.

Prerequisiti

Per eseguire i test di telefonia ACTS, dovresti avere accesso a un repository Android completo e installare build userdebug sui dispositivi che desideri testare.

Download di un repository Android

Seguire le istruzioni in Caricamento della sorgente di scaricare un archivio di Android su una macchina che ha una connessione USB per i dispositivi che si desidera verificare.

  • AOSP è un codebase multigigabyte che continua a crescere. Regola di conseguenza le tue aspettative sui tempi di download.
    • Se una macchina viene formato vincolato, aggiungere --depth=1 al repo init comando.
  • Per ottenere aggiornamenti futuri sugli strumenti ACTS, vai alla directory principale di Android:
    • Usa repo sync tools/test/connectivity
    • E repo sync external/sl4a

Verifica delle build userdebug sui dispositivi

Installa una versione userdebug di Android sui tuoi dispositivi di prova.

  • Costruire il repository utilizzando le istruzioni in costruzione Android .
  • Flash del dispositivo come descritto nel lampeggiante un dispositivo .
    • Il comando adb shell getprop ro.build.type dovrebbe restituire userdebug .
    • Se ro.build.type non è disponibile, un accumulo userdebug consente di eseguire l'adb shell come root (terminale # ).

Costruzione e installazione di SL4A

Per costruire e installare Scripting layer per Android (SL4A), seguire le istruzioni nella Scripting Layer per Android . La sezione Aggiunta SL4A costruisce ad Android Builds per impostazione predefinita è facoltativo.

Dopo aver costruito SLA4, l'ultimo messaggio di registro contiene la posizione del sl4a.apk file, che è necessario installare su tutti i dispositivi. Ecco un esempio di messaggio di registro:

Copy: out/target/path/to/sl4a.apk

Configurazione dei dispositivi da testare

Configurare i dispositivi utilizzando questi requisiti di build/strumento ACTS:

  • Se ADB chiavi vendor non sono disponibili, toccare il Trust questo pop-up del computer sul DUT quando appare. Se le chiavi del fornitore ADB sono disponibili:

    • Le chiavi e i driver del fornitore ADB devono essere univoci per il DUT.
    • Per consentire sempre il debug USB, i tasti ADB vendor nel proprio albero dei sorgenti devono essere aggiunti al ~/.bashrc (o equivalente) utilizzando export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys dove /path/to/directory è il tuo percorso completo sull'host. Per la risoluzione dei problemi ADB, consultare le applicazioni vengono eseguite su un dispositivo hardware .
  • Consenti debug USB: quando i driver adb sono installati, i dispositivi adb possono attivare una richiesta sul dispositivo per consentire il debug USB.

  • Installare sl4a.apk utilizzando $ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk

  • Assicurati che i telefoni utilizzino una connessione USB 2.0 al server di prova.

  • Questi test dipendono da reti cellulari attive, quindi inserisci le schede SIM nei telefoni e tieni i telefoni in un'area con un buon servizio cellulare.

  • Aggiungere tutte le carte SIM in un .json file come descritto in Creazione di un file di configurazione .

Allestire l'ambiente

Prima di impostare l'ambiente, verificare che Python 3.4+ è installato .

Correre:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler

Installazione di ACTS

Correre:

cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -

Per verificare l'installazione, eseguire act.py -h , che stampa un elenco di comandi disponibili.

Scrivere un file di configurazione

Per eseguire i test, è necessario creare un file con le informazioni di configurazione. Ecco un esempio .config file. Un file simile è disponibile nel repository Android in tools/test/connectivity/acts/framework/sample_config.json . Sostituire XXXXXXX con i numeri di serie del dispositivo per fornire le informazioni minime che gli atti necessità di eseguire un test di telefonia.

{
  "_description": "Minimum Telephony Config",
  "testbed":
  [
      {
          "_description": "A testbed listing two AndroidDevices for adb.",
          "name": "ExampleTestBed",
          "AndroidDevice": [{"serial": "XXXXXXX", "adb_logcat_param": "-b all"},
                            {"serial": "XXXXXXX", "adb_logcat_param": "-b all"}]
      }
  ],
  "logpath": "/path/to/logs",
  "testpaths": "/path/to/android/repo/tools/test/connectivity",
  "sim_conf_file": "/path/to/simcard_list.json"
}

Utilizzare i tasti nella tabella per configurare i parametri del test. Fare riferimento alle opzioni di configurazione aggiuntive per ulteriori opzioni.

Chiave Valore
_description Commenta il contenuto dell'intero file di configurazione
testbed Specifica di un ambiente in cui possono essere eseguiti i test
(Testbed) _description Commenta ogni banco di prova, poiché ACTS può prendere di mira singoli banchi di prova
(Testbed) name Nome del banco di prova per la chiamata dalla riga di comando
(banco di prova) AndroidDevice Elenco di dispositivi specifici a cui si rivolge il test
Nota: Non ci può essere più dispositivi elencati. Un test che esegue chiamate telefoniche prevede che ci siano due dispositivi e fallisce se ce ne sono di meno. Se sono elencati due dispositivi e il test ne prevede solo uno, il test viene eseguito sul primo dispositivo.
(testbed) (AndroidDevice) serial Numero di serie del dispositivo (stampato da adb devices )
(banco di prova) (AndroidDevice) adb_logcat_param Parametri che vengono passati quando adb logcat viene chiamato durante il test
logpath La posizione sul server di prova in cui vengono salvati i registri
testpaths La posizione del codice del test case
sim_conf_file La posizione della .json file che elenca carte SIM disponibili
L'elenco delle carte SIM include l'ID della carta, le capacità della carta, l'operatore e il numero di telefono.
{
    "sim-card-ID-here": {
        "capability": [
            "voice",
            "ims",
            "volte",
            "vt",
            "sms",
            "tethering",
            "data"
        ],
        "operator": "tmo",
        "phone_num": "12345678901"
    },
...
}

Si può tirare il numero di telefono dal dispositivo in Sistema> Info sul telefono. L'ID della scheda SIM è generalmente stampato sulla carta SIM, o è disponibile dal dispositivo in Sistema> Info sul telefono> Stato SIM. La stringa di operatore è definito a tools/test/connectivity/acts/framework/acts/test_utils/tel/tel_defines.py , quindi cercare CARRIER_ .

Opzioni di configurazione aggiuntive

entries.py file che si trova in tools/test/connectivity/acts/framework/acts/config/entries.py nel repository Android ha definizioni per le principali opzioni di configurazione della riga di comando.

È inoltre possibile trovare i parametri test-specifici nel codice ricercando self.user_params.get .

Test in corso

Esegui i test dalla riga di comando dopo aver scritto il file di configurazione. Mentre ci sono molte opzioni, la più semplice è usare -c filename.config -tc TestCase:name . Questo esempio utilizza un file di configurazione chiamato minimum.config :

act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general

Un'esecuzione di test riuscita dovrebbe avere un messaggio di output finale come questo:

INFO Summary for test run ExampleTestBed@yyyy-mm-dd_15-23-43-614: Requested 1,
Executed 1, Passed 1, Failed 0, Skipped 0, Error 0

Esecuzione di più test

Per eseguire casi di test specifici su più file, creare un file di test e passarlo con la bandiera -tf , come mostrato nella suite di test di regressione esempio qui sotto.

TelLiveVoiceTest:
test_call_mo_voice_general,
test_call_volte_to_volte,
test_call_3g_to_3g

TelLiveDataTest:
test_airplane_mode,
test_4g,
test_3g

TelLiveSmsTest:
test_sms_mo_4g,
test_sms_mt_4g,
test_sms_mo_3g,
test_sms_mt_3g,
test_mms_mo_4g,
test_mms_mt_4g

Questo comando di esempio presuppone che il file è denominato regression_suite.

act.py -c minimum.config -tf regression_suite

Esecuzione di test più volte

Per eseguire un test case ( -tc ) o file di prova ( -tf ) più volte, aggiungere -ti # (iterazioni di test) al comando.