Guide ACTS avancé

Ceci est un guide sur la façon d'exécuter les tests Android Comms Test Suite (ACTS) .

Obtenir le code

La version la plus récente d'ACTS se trouve dans le référentiel Gerrit du projet Android Open Source (AOSP) dans /platform/tools/test/connectivity/ .

Pour plus de détails sur la façon de synchroniser le code, consultez Téléchargement de la source et l' atelier de programmation des développeurs Android . Lors de la synchronisation du code, synchronisez la branche principale. Ne synchronisez pas une version balisée.

Notez que lors du téléchargement d'ACTS, vous n'avez pas besoin de synchroniser l'intégralité du référentiel Android. Pour synchroniser uniquement ACTS, après avoir exécuté la commande repo init , exécutez :

repo sync platform/tools/test/connectivity

ACTS peut être trouvé sous <repo>/tools/test/connectivity/acts/ .

Configuration de l'environnement

Pour vous assurer qu'ACTS dispose des dépendances requises pour l'installation, 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

Installation d'ACTS

Le script setup.py trouvé dans <repo>/tools/test/connectivity/acts/framework installe le reste des dépendances et 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 -

Installation en cours de vérification

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écution sans installation

Les utilisateurs peuvent exécuter ACTS sans installer directement le package. La seule étape à effectuer consiste à modifier le chemin Python pour importer depuis <repo>/tools/test/connectivity/acts/framework . Avant d'exécuter ACTS, exécutez setup.py install_deps pour installer toutes les dépendances requises par ACTS sans installer ACTS. Si une version existante d'ACTS se trouve 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
    

ACTS génère des messages demandant les indicateurs -c et -tc . Pour plus d'informations, consultez Configuration des tests ACTS .

Mise en place d'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 acts_test.zip depuis aosp-main sur ci.android.com ou que vous ayez un accès direct à la source.

  1. Obtenez ACTES.

    Les builds sont publiés. Pour plus d'informations, consultez Intégration continue Android . Vous pouvez extraire des fichiers zip d'une version 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é vers /tmp/acts_test.zip .

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

  2. Installez virtualenv sur votre machine.

    Si vous ne l'avez pas déjà, vous pouvez installer virtualenv en utilisant :

    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 ACTS depuis n’importe où.

    act.py -c <config> ...
    
  6. Quittez l'environnement virtuel une fois les tests terminés.

    deactivate
    

Flasher l'appareil Android (facultatif)

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

Pour flasher l'appareil, utilisez l' outil Android Flash (flash.android.com/) . Pour plus de détails, consultez la documentation sur Android Flash Tool .

Installation de SL4A (facultatif, recommandé)

Si vous utilisez un appareil avec une version 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 sur Scripting Layer pour Android .