Guía avanzada sobre ACTS

Esta es una guía sobre cómo ejecutar pruebas del Conjunto de pruebas de comunicaciones de Android (ACTS).

Obtén el código

La versión más actualizada de ACTS se puede encontrar en el repositorio de Gerrit del Proyecto de código abierto de Android (AOSP) en /platform/tools/test/connectivity/.

Para obtener detalles sobre cómo sincronizar el código, consulta Cómo descargar el código y el codelab de Android Developer. Cuando sincronices el código, sincroniza la rama principal. No sincronices una compilación etiquetada.

Ten en cuenta que, cuando descargas ACTS, no es necesario que sincronices todo el repositorio de Android. Para sincronizar solo ACTS, después de ejecutar el comando repo init, ejecuta lo siguiente:

repo sync platform/tools/test/connectivity

Puedes encontrar ACTS en <repo>/tools/test/connectivity/acts/.

Configuración del entorno

Para asegurarte de que ACTS tenga las dependencias necesarias para la configuración, instala las siguientes herramientas de configuración de Python 3:

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

Instala ACTS

La secuencia de comandos setup.py que se encuentra en <repo>/tools/test/connectivity/acts/framework instala el resto de las dependencias y ACTS.

Para el desarrollo continuo en ACTS o con él, ejecuta el siguiente comando:

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

Si solo quieres ejecutar pruebas, ejecuta este comando:

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

Verifica la instalación

Después de la configuración, asegúrate de poder usar act.py en tu terminal y de importar los módulos de ACTS en Python. Por ejemplo:

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()

Cómo ejecutar sin instalación

Los usuarios pueden ejecutar ACTS sin instalar el paquete directamente. El único paso que se debe realizar es modificar la ruta de acceso de Python para importar desde <repo>/tools/test/connectivity/acts/framework. Antes de ejecutar ACTS, ejecuta setup.py install_deps para instalar todas las dependencias requeridas por ACTS sin instalar ACTS. Si hay una versión existente de ACTS en tu máquina, ejecuta sudo setup.py uninstall.

Para ejecutar ACTS, usa uno de los siguientes comandos:

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

El ACTS envía mensajes que solicitan las marcas -c y -tc. Para obtener más información, consulta Cómo configurar pruebas de ACTS.

Configura ACTS en un entorno virtual

Para aislar la instalación de otras instalaciones de ACTS, debes instalarlas en un entorno virtual. En los siguientes pasos, se supone que tienes acts_test.zip de aosp-main en ci.android.com o que tienes acceso directo a la fuente.

  1. Obtén ACTS.

    Las compilaciones se publican. Para obtener más información, consulta Integración continua de Android. Puedes extraer archivos ZIP de una compilación en ci.android.com. Busca el destino test_suites_x86_64.

    El archivo acts_test.zip se encuentra en la pestaña Artefactos. En este ejemplo, supongamos que acts_test.zip se descargó en /tmp/acts_test.zip.

    Si tienes acceso al código fuente, puedes usarlo.

  2. Instala virtualenv en tu máquina.

    Si aún no lo tienes, puedes instalar virtualenv con lo siguiente:

    python3 -m pip install -U --user virtualenv
  3. Crea y activa el entorno virtual (en /tmp/my_virtualenv para este ejemplo). Esto garantiza que los paquetes nuevos se instalen en el directorio virtualenv.

    python3 -m virtualenv /tmp/my_virtualenv
    source /tmp/my_virtualenv/bin/activate
  4. Instala ACTS. Ejecuta el siguiente comando:

    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 tienes acceso directo al código, puedes omitir el descomprimido:

    cd /path/to/acts/framework
    python3 setup.py install
  5. Ejecuta ACTS desde cualquier lugar.

    act.py -c <config> ...
  6. Cuando termines de ejecutar las pruebas, sal del entorno virtual.

    deactivate

Escribe en la memoria flash del dispositivo Android (opcional)

Si deseas obtener el control de privilegios del sistema del dispositivo, escribe una compilación userdebug.

Para escribir en la memoria flash del dispositivo, usa Android Flash Tool (flash.android.com/). Para obtener más información, consulta la documentación en Android Flash Tool.

Instala SL4A (opcional, recomendado)

Si usas un dispositivo con una compilación userdebug, tienes la opción de obtener el control de privilegios del sistema con SL4A. Si tu prueba no usa SL4A en el dispositivo, puedes establecer la marca skip_sl4a en la configuración de ACTS para inhabilitar la función.

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

Para obtener el APK de SL4A, sigue las instrucciones que se indican en Scripting Layer for Android.