Guide ACTS avancé

Ce guide explique comment exécuter des tests Android Comms Test Suite (ACTS).

Obtenir le code

La version la plus récente d'ACTS est disponible dans le dépôt Gerrit du projet Android Open Source (AOSP) dans /platform/tools/test/connectivity/.

Pour en savoir plus sur la synchronisation du code, consultez Télécharger la source et Atelier de programmation pour les développeurs Android. Lors de la synchronisation du code, synchronisez la branche principale. Ne synchronisez pas une compilation taguée.

Notez que lorsque vous téléchargez des outils ACTS, vous n'avez pas besoin de synchroniser l'intégralité du dépôt Android. Pour synchroniser uniquement les ACTS, après avoir exécuté la commande repo init, exécutez la commande suivante:

repo sync platform/tools/test/connectivity

Les ACTS se trouvent sous <repo>/tools/test/connectivity/acts/.

Configuration de l'environnement

Pour vous assurer qu'ACTS dispose des dépendances requises pour la configuration, installez les outils de configuration Python 3 suivants:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo apt-get install adb fastboot
sudo pip3 install --upgrade pip setuptools
# Needed due to an on-going bug.
sudo apt-get install protobuf-compiler

Installer ACTS

Le script setup.py figurant dans <repo>/tools/test/connectivity/acts/framework installe le reste des dépendances, ainsi que le système ACTS lui-même.

Pour un développement continu sur ou avec ACTS, exécutez la commande suivante:

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

Si vous souhaitez exécuter uniquement des tests, exécutez plutôt cette commande:

cd <repo>/tools/test/connectivity/acts/framework/
sudo python3 setup.py install
cd -

Vérifier l'installation

Après la configuration, assurez-vous que vous pouvez utiliser act.py dans votre terminal et importer des modules ACTS en Python. Par exemple :

act.py -h
usage: act.py [-h] -c <PATH> [--test_args Arg1 Arg2 ... ]
python3
>>> from acts.controllers import android_device
>>> device_list = android_device.get_all_instances()

Exécuter sans installer

Les utilisateurs peuvent exécuter ACTS sans installer directement le package. La seule étape à effectuer consiste à modifier le chemin d'accès Python à importer à partir de <repo>/tools/test/connectivity/acts/framework. Avant d'exécuter des ACTS, exécutez setup.py install_deps pour installer toutes les dépendances requises par les ACTS sans installer ACTS. Si une version d'ACTS existe sur votre ordinateur, exécutez sudo setup.py uninstall.

Pour exécuter ACTS, utilisez l'une des commandes suivantes:

  • cd <repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
    
  • export PYTHONPATH=<repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
    

L'ACTS génère des messages demandant les indicateurs -c et -tc. Pour en savoir plus, consultez Configurer des tests ACTS.

Configurer des ACTS dans un environnement virtuel

Pour isoler votre installation des autres installations d'ACTS, vous devez installer ACTS dans un environnement virtuel. Les étapes suivantes supposent que vous disposez de acts_test.zip depuis aosp-main sur ci.android.com ou que vous disposez d'un accès direct à la source.

  1. Obtenir des ACTS

    Les builds sont publiés. Pour en savoir plus, consultez Intégration continue Android. Vous pouvez extraire des fichiers ZIP à partir d'un build sur ci.android.com. Recherchez la cible test_suites_x86_64.

    Le fichier acts_test.zip se trouve sous l'onglet "Artefacts". Pour cet exemple, supposons que acts_test.zip a été téléchargé dans /tmp/acts_test.zip.

    Si vous avez accès au code source, vous pouvez l'utiliser à la place.

  2. Installez virtualenv sur votre ordinateur.

    Si vous ne l'avez pas déjà fait, vous pouvez installer virtualenv à l'aide de la commande suivante:

    python3 -m pip install -U --user virtualenv
    
  3. Créez et activez l'environnement virtuel (dans /tmp/my_virtualenv pour cet exemple). Cela garantit que les nouveaux packages sont installés dans le répertoire virtualenv.

    python3 -m virtualenv /tmp/my_virtualenv
    source /tmp/my_virtualenv/bin/activate
    
  4. Installez ACTS. Exécutez la commande suivante :

    unzip /tmp/acts_test.zip -d /tmp/my_virtualenv/acts
    cd /tmp/my_virtualenv/acts/tools/test/connectivity/acts/framework/
    python3 setup.py install
    

    Si vous avez accès directement au code, vous pouvez ignorer la décompression:

    cd /path/to/acts/framework
    python3 setup.py install
    
  5. Exécutez des ACTS où que vous soyez.

    act.py -c <config> ...
    
  6. Quittez l'environnement virtuel lorsque vous avez terminé les tests.

    deactivate
    

Flasher l'appareil Android (facultatif)

Si vous souhaitez obtenir le contrôle privilégié du système sur l'appareil, flashez-le avec un build userdebug.

Pour flasher l'appareil, utilisez Android Flash Tool (flash.android.com/). Pour en savoir plus, consultez la documentation sur Android Flash Tool.

Installer SL4A (facultatif, recommandé)

Si vous utilisez un appareil avec un build userdebug, vous avez la possibilité d'obtenir le contrôle des privilèges système de votre appareil à l'aide de SL4A. Si votre test n'utilise pas SL4A sur l'appareil, vous pouvez définir l'indicateur skip_sl4a dans la configuration ACTS pour désactiver la fonctionnalité.

"AndroidDevice": [{"serial": "standardized serial number reference", "skip_sl4a": true}, ...]

Pour obtenir l'APK SL4A, suivez les instructions de la section Couche de script pour Android.