La Test Suite per le comunicazioni Android (ACTS) esegue test automatici degli stack di connettività, ad esempio Wi-Fi, Bluetooth e servizi cellulari. Lo strumento di test richiede adb e Python. Lo
strumento si trova in tools/test/connectivity/acts
.
In questa pagina viene descritto come eseguire i test della telefonia di base disponibili in Android Open Source Project (AOSP) per un utente con due smartphone.
Prerequisiti
Per eseguire i test di telefonia ACTS, devi avere accesso a un repository Android completo e installare le build di debug degli utenti sui dispositivi che vuoi testare.
Scarica un repository Android
Segui le istruzioni in Scaricare il codice sorgente per scaricare un repository Android su una macchina dotata di connessione USB ai dispositivi che vuoi testare.
- AOSP è un codebase multigigabyte in continua crescita. Regola i tempi di download
previsti di conseguenza.
- Se una macchina è vincolata a dimensioni, aggiungi
--depth=1
al comandorepo init
.
- Se una macchina è vincolata a dimensioni, aggiungi
- Per ricevere aggiornamenti futuri sugli strumenti ACTS, vai alla directory radice di Android:
- Utilizza
repo sync tools/test/connectivity
- e
repo sync external/sl4a
- Utilizza
Verificare le build di debug degli utenti sui dispositivi
Installa una versione userdebug di Android sui tuoi dispositivi di test.
- Per creare il repository, segui le istruzioni in Build Android.
- Esegui il flashing del dispositivo come descritto nella sezione
Eseguire il flashing del dispositivo.
- Il comando
adb shell getprop ro.build.type
dovrebbe restituireuserdebug
. - Se
ro.build.type
non è disponibile, una build userdebug consente di eseguire la shell adb come root (terminale#
).
- Il comando
Crea e installa SL4A
Per creare e installare lo scripting Layer per Android (SL4A), segui le istruzioni riportate nella pagina Scripting Layer per Android. La sezione Aggiunta di build SL4A alle build Android per impostazione predefinita è facoltativa.
Dopo aver creato SLA4, l'ultimo messaggio di log contiene la posizione del file sl4a.apk
, che devi installare su TUTTI i dispositivi. Ecco un esempio di messaggio di log:
Copy: out/target/path/to/sl4a.apk
Configura i dispositivi da testare
Configura i dispositivi utilizzando questi requisiti di build/strumento ACTS:
Se le chiavi dei fornitori ADB non sono disponibili, tocca il popup Considera questo computer attendibile sul DUT quando viene visualizzato. Se sono disponibili le chiavi del fornitore ADB:
- Le chiavi e i driver dei fornitori ADB devono essere univoci per il DUT.
- Per attivare sempre il debug USB, le chiavi del fornitore ADB nella struttura di origine devono essere aggiunte a
~/.bashrc
(o equivalente) utilizzandoexport ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys
, dove/path/to/directory
è il percorso completo sull'host. Per la risoluzione dei problemi di ADB, consulta Eseguire app su un dispositivo hardware.
Consenti debug USB: quando i driver ADB sono installati, i dispositivi ADB potrebbero attivare una richiesta sul dispositivo per consentire il debug USB.
Installa
sl4a.apk
utilizzando$ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk
Assicurati che gli smartphone utilizzino una connessione USB 2.0 al server di test.
Questi test dipendono dalle reti cellulari attive, quindi inserisci le schede SIM negli smartphone e tienili in un'area in cui il servizio cellulare sia buono.
Aggiungi tutte le schede SIM a un file JSON come descritto in Scrivere un file di configurazione.
Configurare l'ambiente
Prima di configurare l'ambiente, verifica che Python 3.4 o versioni successive sia installato.
Corsa:
sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler
Installa ACTS
Corsa:
cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -
Per verificare l'installazione, esegui act.py -h
, che stampa un elenco dei comandi disponibili.
Scrivi un file di configurazione
Per eseguire i test, devi creare un file con le informazioni di configurazione. Ecco un
file .config
di esempio. Un file simile è disponibile nel repository Android
in tools/test/connectivity/acts/framework/sample_config.json
. Sostituisci XXXXXXX
con i numeri di serie del dispositivo per fornire le informazioni minime necessarie ad ATS per 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"
}
Utilizza le chiavi nella tabella per configurare i parametri di test. Per ulteriori opzioni, consulta Opzioni di configurazione aggiuntive.
Chiave | Valore |
---|---|
_description
|
Commenta i contenuti dell'intero file di configurazione |
testbed
|
Specifica di un ambiente in cui possono essere eseguiti i test |
(testa) _description
|
Commenta ogni banco di test, poiché gli ACTS possono scegliere come target singoli test |
(testa) name
|
Nome del banco di test per le chiamate dalla riga di comando |
(testa) AndroidDevice
|
Elenco di dispositivi specifici a cui si rivolge il test
Nota: possono essere elencati più dispositivi. Un test che esegue smartphone che si chiamano tra di loro prevede la presenza di due dispositivi e, se ce ne sono meno, non va a buon fine. Se nell'elenco sono presenti due dispositivi e il test ne prevede solo uno, il test viene eseguito sul primo dispositivo. |
(testbed)(dispositivo Android) serial
|
Numero di serie del dispositivo (stampato da adb devices )
|
(testbed)(dispositivo Android) adb_logcat_param
|
Parametri che vengono passati quando adb logcat viene chiamato durante il test
|
logpath
|
La posizione sul server di test in cui vengono salvati i log. |
testpaths
|
La posizione del codice dello scenario di test |
sim_conf_file
|
La posizione del file .json che elenca le schede SIM disponibili
L'elenco delle schede SIM include l'ID della scheda, le funzionalità della scheda, l'operatore e il numero di telefono. |
{
"sim-card-ID-here": {
"capability": [
"voice",
"ims",
"volte",
"vt",
"sms",
"tethering",
"data"
],
"operator": "tmo",
"phone_num": "12345678901"
},
...
}
Puoi recuperare il numero di telefono dal dispositivo in Sistema > Informazioni sullo smartphone.
In genere l'ID della scheda SIM è stampato sulla scheda SIM o è disponibile sul dispositivo in Sistema > Informazioni sullo smartphone > Stato SIM. La stringa dell'operatore è definita in tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py
, quindi cerca CARRIER_
.
Opzioni di configurazione aggiuntive
Il file entries.py
situato all'indirizzo tools/test/connectivity/acts/framework/acts/config/entries.py
nel repository Android ha definizioni per le principali opzioni di configurazione della riga di comando.
Puoi anche trovare parametri specifici per il test nel codice cercando
self.user_params.get
.
Esegui test
Esegui i test dalla riga di comando dopo la scrittura del file di configurazione. Anche se
esistono molte opzioni, la più semplice è usare -c filename.config -tc
TestCase:name
. In questo esempio viene utilizzato un file di configurazione denominato
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 simile al seguente:
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
Esegui più test
Per eseguire scenari di test specifici su più file, crea un file di test e passalo
con il flag -tf
, come mostrato nell'esempio della suite di test di regressione:
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 sia denominato regression_suite.
act.py -c minimum.config -tf regression_suite
Esegui test più volte
Per eseguire più volte uno scenario di test (-tc
) o un file di test (-tf
), aggiungi -ti
#
(iterazioni di test) al comando.