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 encuentra en el repositorio de Gerrit del Proyecto de código abierto de Android (AOSP), en /platform/tools/test/connectivity/.

Si deseas obtener detalles para sincronizar el código, consulta Descarga el código fuente y el Codelab para desarrolladores de Android. Cuando sincronices el código, sincroniza la rama principal. No sincronices una compilación etiquetada.

Ten en cuenta que, cuando descargas ACTS, no necesitas sincronizar 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

A fin de 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 el ACTS.

Para el desarrollo continuo con ACTS, 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 que puedas usar act.py en la terminal y, luego, importa 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()

Ejecutar sin instalar

Los usuarios pueden ejecutar ACTS sin instalar el paquete directamente. El único paso que debe realizarse es modificar la ruta de Python para importar desde <repo>/tools/test/connectivity/acts/framework. Antes de ejecutar el ACTS, ejecuta setup.py install_deps para instalar todas las dependencias requeridas por el ACTS sin instalarlo. 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
    

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

Configurar 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. Obtenga información sobre 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. Para este ejemplo, supongamos que se descargó acts_test.zip 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 el siguiente comando:

    python3 -m pip install -U --user virtualenv
    
  3. Crea y activa el entorno virtual (en /tmp/my_virtualenv para este ejemplo). Esto garantiza que se instalen paquetes nuevos 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 al código directamente, puedes omitir la descompresión:

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

    act.py -c <config> ...
    
  6. Abandona el entorno virtual cuando termines de ejecutar las pruebas.

    deactivate
    

Escribe en la memoria flash del dispositivo Android (opcional)

Si deseas obtener un control privilegiado del sistema del dispositivo, escribe en la memoria flash del dispositivo 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 privilegio del sistema de tu dispositivo mediante SL4A. Si la 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 en Capa de secuencias de comandos para Android.