La suite de test des communications Android
(ACTS)
effectue des tests automatisés des piles de connectivité, telles que Wi-Fi, Bluetooth et
les services mobiles. L'outil de test requiert
adb et Python. La
se trouve dans tools/test/connectivity/acts
.
Cette page explique comment exécuter les tests de téléphonie de base disponibles dans Projet Android Open Source (AOSP) pour un utilisateur possédant deux téléphones.
Prérequis
Pour exécuter des tests de téléphonie ACTS, vous devez avoir accès à un dépôt Android complet et installer les versions userdebug sur les appareils que vous souhaitez tester.
Télécharger un dépôt Android
Suivez les instructions fournies dans l'article Téléchargez la source dans télécharger un référentiel Android sur une machine dotée d'une connexion USB au appareils que vous souhaitez tester.
- AOSP est un codebase de plusieurs gigaoctets qui continue de croître. Ajustez votre
de temps de téléchargement en conséquence.
- Si la taille d'une machine est limitée, ajoutez
--depth=1
àrepo init
. .
- Si la taille d'une machine est limitée, ajoutez
- Pour obtenir les futures mises à jour sur les outils ACTS, accédez au répertoire racine Android:
<ph type="x-smartling-placeholder">
- </ph>
- Utiliser
repo sync tools/test/connectivity
- et
repo sync external/sl4a
- Utiliser
Vérifier les compilations userdebug sur les appareils
Installez une version userdebug d'Android sur vos appareils de test.
- Créez le dépôt en suivant les instructions Développez Android.
- Flashez l'appareil comme indiqué dans la section
Flasher un appareil.
- La commande
adb shell getprop ro.build.type
doit renvoyeruserdebug
. - Si
ro.build.type
n'est pas disponible, une version userdebug permet d'exécuter la shell adb en tant que racine (terminal#
).
- La commande
Compiler et installer SL4A
Pour créer et installer la couche de script pour Android (SL4A), suivez les instructions de la couche de script pour Android La section Ajouter des builds SL4A aux builds Android par défaut est facultative.
Une fois le SLA4 créé, le dernier message de journal indique l'emplacement du
sl4a.apk
, que vous devez installer sur TOUS les appareils. Voici un exemple
un message de journal:
Copy: out/target/path/to/sl4a.apk
Configurer les appareils à tester
Configurez les appareils selon ces exigences de compilation et d'outil ACTS:
Si les clés de fournisseur ADB ne sont pas disponibles, appuyez sur le pop-up Indiquer que cet ordinateur est fiable dans l'appareil testé. Si des clés de fournisseur ADB sont disponibles:
- Les clés et pilotes de fournisseur ADB doivent être uniques à l'appareil testé.
- Pour toujours activer le débogage USB, les clés de fournisseur ADB dans votre arborescence source
doit être ajouté à
~/.bashrc
(ou équivalent) en utilisantexport ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys
où/path/to/directory
est votre chemin d'accès complet hôte. Pour résoudre les problèmes liés à ADB, consultez Exécuter des applications sur un appareil
Autoriser le débogage USB: lorsque les pilotes adb sont installés, les appareils adb peuvent se déclencher une invite sur l’appareil pour autoriser le débogage USB.
Installer
sl4a.apk
avec$ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk
Assurez-vous que les téléphones utilisent une connexion USB 2.0 vers le serveur de test.
Ces tests dépendent des réseaux mobiles actifs. Par conséquent, placez les cartes SIM dans les téléphones et Gardez les téléphones dans un endroit où le réseau mobile est de bonne qualité.
Ajoutez toutes les cartes SIM à un fichier JSON, comme décrit dans Écrivez un fichier de configuration.
Configurer l'environnement
Avant de configurer l'environnement, vérifiez que Python 3.4+ est installée.
Exécutez la commande suivante:
sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler
Installer ACTS
Exécutez la commande suivante:
cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -
Pour vérifier l'installation, exécutez act.py -h
, qui affiche la liste des
commandes.
Écrire un fichier de configuration
Pour exécuter des tests, vous devez créer un fichier contenant les informations de configuration. Voici un
exemple de fichier .config
. Un fichier similaire est disponible dans le dépôt Android
moins de tools/test/connectivity/acts/framework/sample_config.json
. Remplacer
XXXXXXX
par les numéros de série des appareils afin de fournir le minimum d'informations
Le système ACTS doit effectuer un test téléphonique.
{
"_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"
}
Utilisez les clés du tableau pour configurer les paramètres de test. Consultez Options de configuration supplémentaires pour en savoir plus options.
Clé | Valeur |
---|---|
_description
|
Commenter le contenu de l'intégralité du fichier de configuration |
testbed
|
Spécification d'un environnement dans lequel les tests peuvent s'exécuter |
(testbed) _description
|
Commenter chaque environnement de test, car les outils ACTS peuvent cibler des zones de test individuelles |
(testbed) name
|
Nom du testbed pour l'appel depuis la ligne de commande |
(testbed) AndroidDevice
|
Liste des appareils spécifiques ciblés par le test
Remarque:Plusieurs appareils peuvent être répertoriés. Un test qui s'exécute les téléphones qui s'appellent s'attendent à recevoir deux appareils et échoue si sont moins nombreux. Si deux appareils sont répertoriés et que le test n'en attend qu'un, est exécuté sur le premier appareil. |
(testbed)(Appareil Android) serial
|
Numéro de série de l'appareil (imprimé depuis adb devices )
|
(testbed)(Appareil Android) adb_logcat_param
|
Paramètres transmis lorsque adb logcat est appelé pendant
test
|
logpath
|
L'emplacement où les journaux sont enregistrés sur le serveur de test |
testpaths
|
Emplacement du code du scénario de test |
sim_conf_file
|
Emplacement du fichier .json qui liste les cartes SIM disponibles
cartes
La liste des cartes SIM comprend l'identifiant de la carte, les capacités de la carte, un opérateur et un numéro de téléphone. |
{
"sim-card-ID-here": {
"capability": [
"voice",
"ims",
"volte",
"vt",
"sms",
"tethering",
"data"
],
"operator": "tmo",
"phone_num": "12345678901"
},
...
}
Vous pouvez extraire le numéro de téléphone de l'appareil sous Système > À propos du téléphone
L'ID de la carte SIM est généralement imprimé sur la carte SIM ou est disponible auprès de
l'appareil sous Système > À propos du téléphone > État de la carte SIM La chaîne d'opérateur est
défini à
tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py
,
puis recherchez CARRIER_
.
Options de configuration supplémentaires
Le fichier entries.py
situé à l'emplacement
tools/test/connectivity/acts/framework/acts/config/entries.py
sur Android
contient les définitions des principales options
de configuration de ligne de commande.
Vous pouvez également trouver des paramètres spécifiques au test dans le code en recherchant
self.user_params.get
Exécuter des tests
Exécutez les tests à partir de la ligne de commande une fois le fichier de configuration écrit. Pendant l'activité
Il existe de nombreuses options. La plus simple consiste à utiliser -c filename.config -tc
TestCase:name
. Cet exemple utilise un fichier de configuration nommé
minimum.config
:
act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general
Si l'exécution du test réussit, un message de sortie final semblable à celui-ci doit s'afficher:
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
Exécuter plusieurs tests
Pour exécuter des scénarios de test spécifiques sur plusieurs fichiers, créez un fichier de test et transmettez-le.
avec l'indicateur -tf
, comme illustré dans l'exemple de la suite de tests de régression:
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
Cet exemple de commande suppose que le fichier s'appelle regression_suite.
act.py -c minimum.config -tf regression_suite
Exécuter des tests plusieurs fois
Pour exécuter un scénario de test (-tc
) ou un fichier de test (-tf
) plusieurs fois, ajoutez -ti
#
(itérations de test) à la commande.