Guia avançado do ACTS

Este é um guia sobre como executar testes do Android Comms Test Suite (ACTS).

Acessar o código

A versão mais recente do ACTS pode ser encontrada no repositório do Android Open Source Project (AOSP) Gerrit em /platform/tools/test/connectivity/.

Para saber como sincronizar o código, consulte Fazer o download da origem e o Codelab para desenvolvedores Android. Ao sincronizar o código, sincronize a ramificação principal. Não sincronize um build marcado.

Ao fazer o download do ACTS, não é necessário sincronizar todo o repositório do Android. Para sincronizar apenas ACTS, depois de executar o comando repo init, execute:

repo sync platform/tools/test/connectivity

Os ACTS podem ser encontrados em <repo>/tools/test/connectivity/acts/.

Configuração do ambiente

Para garantir que o ACTS tenha as dependências necessárias para a configuração, instale as seguintes ferramentas de configuração do 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

Instalar ACTS

O script setup.py encontrado em <repo>/tools/test/connectivity/acts/framework instala o restante das dependências e o próprio ACTS.

Para desenvolvimento contínuo no ACTS ou com ele, execute o seguinte comando:

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

Se você quiser executar apenas testes, execute este comando:

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

Verificar a instalação

Após a configuração, verifique se você pode usar act.py no terminal e importar módulos ACTS no Python. Exemplo:

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

Executar sem instalar

Os usuários podem executar o ACTS sem instalar o pacote diretamente. A única etapa que precisa ser realizada é modificar o caminho do Python para importar de <repo>/tools/test/connectivity/acts/framework. Antes de executar o ACTS, execute setup.py install_deps para instalar todas as dependências necessárias sem instalar o ACTS. Se houver uma versão do ACTS na sua máquina, execute sudo setup.py uninstall.

Para executar o ACTS, use um dos seguintes comandos:

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

O ACTS emite mensagens que solicitam as sinalizações -c e -tc. Para mais informações, consulte Como configurar os testes ACTS.

Configurar o ACTS em um ambiente virtual

Para isolar sua instalação de outras instalações do ACTS, instale-o em um ambiente virtual. As etapas a seguir pressupõem que você tenha acts_test.zip da aosp-main em ci.android.com ou acesso direto à fonte.

  1. Acessar o ACTS.

    Os builds são publicados. Para ver mais informações, consulte Integração contínua do Android. É possível extrair arquivos ZIP de um build em ci.android.com. Procure o destino test_suites_x86_64.

    O arquivo acts_test.zip está na guia "Artifacts". Para este exemplo, suponha que o download de acts_test.zip tenha sido feito em /tmp/acts_test.zip.

    Se você tiver acesso ao código-fonte, use-o.

  2. Instale o virtualenv na sua máquina.

    Se você ainda não tiver, instale o virtualenv usando:

    python3 -m pip install -U --user virtualenv
  3. Crie e ative o ambiente virtual (/tmp/my_virtualenv neste exemplo). Isso garante que novos pacotes sejam instalados no diretório virtualenv.

    python3 -m virtualenv /tmp/my_virtualenv
    source /tmp/my_virtualenv/bin/activate
  4. Instale o ACTS. Execute o comando a seguir.

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

    Se você tiver acesso direto ao código, pule a extração:

    cd /path/to/acts/framework
    python3 setup.py install
  5. Execute o ACTS de qualquer lugar.

    act.py -c <config> ...
  6. Saia do ambiente virtual quando terminar de executar os testes.

    deactivate

Atualizar o dispositivo Android (opcional)

Se você quiser ter controle privilegiado do sistema do dispositivo, faça o flash dele com um build userdebug.

Para atualizar o dispositivo, use a Android Flash Tool (flash.android.com/). Para mais detalhes, consulte a documentação em Android Flash Tool.

Instalar o SL4A (opcional, recomendado)

Se você estiver usando um dispositivo com um build userdebug, terá a opção de receber o controle de privilégios do sistema do dispositivo usando o SL4A. Se o teste não usar o SL4A no dispositivo, defina a flag skip_sl4a na configuração do ACTS para desativar o recurso.

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

Para receber o APK da SL4A, siga as instruções em Scripting Layer para Android.