Configurar testes automatizados do CTS

Antes de executar testes automatizados do CTS, prepare seu ambiente físico, configure sua estação de trabalho e o dispositivo que você está testando.

Configurar o ambiente físico

Alguns testes do CTS exigem o uso de dispositivos externos configurados perto do DUT. Para configurar o ambiente físico:

  1. (opcional) Se o DUT for compatível com Bluetooth LE, coloque pelo menos três sensores Bluetooth LE a 5 metros do DUT para testar a verificação do Bluetooth LE. Além disso:

    • Os beacons não precisam ser configurados nem emitir nada específico.
    • Os beacons podem ser de qualquer tipo, incluindo iBeacon, Eddystone ou até mesmo dispositivos que simulam beacons BLE.
  2. Coloque o smartphone em frente a uma cena, como uma parede ou o teto, a uma distância equivalente à distância mínima de foco do DUT. Além disso:

    • A cena precisa ter iluminação suficiente para permitir que os sensores em teste alcancem e permaneçam na taxa máxima de quadros por segundo (FPS) configurada, conforme especificado em CONTROL_AE_TARGET_FPS_RANGE.
    • Essa configuração se aplica a todos os sensores de câmera informados por getCameraIdList à medida que o teste itera nos dispositivos listados e mede o desempenho individualmente.
    • Se o DUT for compatível com câmeras externas, como webcams USB, conecte uma câmera externa ao executar o CTS. Caso contrário, os testes do CTS vão falhar.
  3. (Opcional) Se o DUT for compatível com um sistema de posicionamento global (GPS) ou outro sistema global de navegação por satélite (GNSS), forneça um sinal GNSS ao DUT em um nível adequado para recepção e cálculo de localização. Além disso:

    • O GPS precisa obedecer ao ICD-GPS-200C.
    • O sinal GNSS pode ser de qualquer tipo, incluindo um simulador de satélite ou um repetidor de sinais externos.
    • Coloque o DUT perto de uma janela para que ele receba diretamente sinal GNSS suficiente de um satélite.
  4. Verifique se a rede Wi-Fi é compatível com IPv4 e IPv6, tem uma conexão de Internet com DNS para IPv4 e IPv6, oferece suporte a multicast IP e pode tratar o DUT como um cliente isolado.

    Se você não tiver acesso a uma rede IPv6 nativa, uma rede de operadora IPv6 ou uma VPN para passar nos testes de IPv6, use um AP Wi-Fi e um túnel IPv6.

  5. Verifique se o DUT tem as flags UP, BROADCAST e MULTICAST definidas na interface Wi-Fi.

  6. Verifique se a interface Wi-Fi tem endereços IPv4 e IPv6 atribuídos. Para verificar as propriedades da interface Wi-Fi, execute adb shell ifconfig.

  7. (opcional) Se o DUT for compatível com Wi-Fi STA ou simultaneidade de STA, configure pelo menos duas redes Wi-Fi. Essas redes Wi-Fi precisam ser executadas em bandas diferentes com SSIDs diferentes ou no mesmo SSID com BSSIDs diferentes.

  8. (Opcional) Se o DUT for compatível com tempo de retorno do Wi-Fi (RTT), configure um dispositivo compatível com Wi-Fi RTT:

    1. Coloque o dispositivo Wi-Fi RTT a uma distância de até 12 metros do DUT.
    2. Ligue o dispositivo Wi-Fi RTT.

    Confira dois dispositivos recomendados que oferecem suporte ao RTT do Wi-Fi: - Google Wifi - Ponto de acesso fitlet2 da Compulab (definido como largura de banda de 40 MHz em 5 GHz).

Configurar seu computador desktop

Antes de executar os testes automatizados do CTS, verifique se o computador atende aos requisitos de hardware e sistema operacional e se tem o software adequado instalado, conforme descrito nas seções a seguir.

Atender aos requisitos de hardware

Seu computador de mesa do CTS precisa atender ou exceder estes requisitos de hardware:

  • Um sistema x86 de 64 bits

  • Pelo menos 256 GB de espaço livre em disco para acomodar o aumento no número de casos de teste do CTS e um aumento na reserva de espaço de heap Java no Tradefed

  • Mínimo de 32 GB de RAM

Atender aos requisitos do sistema operacional

  • Sua máquina de desenvolvimento precisa executar uma distribuição de Linux de 64 bits com a biblioteca GNU C (glibc) 2.17 ou mais recente.

  • O idioma do sistema operacional precisa ser definido como "Inglês" para que o CTS resolva o caminho corretamente.

Instalar software para computador

Para instalar o software de computador adequado para o CTS:

  1. Instale o pacote FFmpeg versão 5.1.3 ou mais recente.

  2. Instale as versões mais recentes do Android Debug Bridge (adb) e do Android Asset Packaging Tool (AAPT2) e adicione o local dessas ferramentas ao caminho do sistema da sua máquina:

    1. Siga as instruções no início da documentação do SDK Manager para instalar a ferramenta de linha de comando sdkmanager. O link para fazer o download das ferramentas de linha de comando está na seção Apenas ferramentas de linha de comando, na parte de baixo da página de download do Android Studio.
    2. Atualize o caminho do sistema para incluir o local do sdkmanager recém-instalado.
    3. Usando sdkmanager, instale os pacotes platform-tools e build-tools mais recentes. Esses pacotes contêm adb e AAPT2. Para informações sobre como instalar pacotes, consulte Instalar pacotes.
    4. Atualize o caminho para incluir o local das ferramentas adb e AAPT2 recém-instaladas.
    5. Verifique se o adb e o AAPT2 estão no seu caminho.
  3. Instale a versão adequada do Java Development Kit (JDK):

  4. (opcional) No Android 13 e 14, instale o virtualenv. A ferramenta virtualenv é necessária para testes em vários dispositivos.

  5. Para garantir que o Python esteja instalado, digite python3. A versão e a data do Python vão aparecer, indicando que ele está instalado corretamente.

  6. Faça o download e abra os pacotes do CTS em Downloads do conjunto de teste de compatibilidade que correspondem à versão do Android dos seus dispositivos e a todas as interfaces binárias de aplicativos (ABIs) compatíveis com eles.

  7. Faça o download e abra a versão mais recente dos arquivos de mídia do CTS. Os arquivos de mídia incluem clipes de vídeo de Big Buck Bunny, que são protegidos por direitos autorais pela Blender Foundation de acordo com a licença Creative Commons Atribuição 3.0.

  8. (Opcional) Quando você executa o CTS pela primeira vez, ele baixa dinamicamente alguns arquivos do CTS relacionados à Mainline. Dependendo da velocidade da rede, esse download adiciona 10 minutos ou mais ao tempo de execução do CTS.

    Para evitar esse tempo de execução extra do CTS, baixe os arquivos do CTS relacionados à Mainline antes de executar o CTS. Para informações sobre como baixar os arquivos do CTS relacionados ao Mainline, consulte Baixar arquivos do CTS relacionados ao Mainline.

Preparar o DUT

Depois de configurar o computador desktop, é necessário configurar e configurar o DUT.

Configurar o DUT

Para configurar o DUT:

  1. Verifique se o DUT está executando uma imagem do sistema baseada no build de usuário compatível (Android 4.0 ou mais recente) em Codinomes, tags e números de build e usa a variante de build user. Para mais informações sobre variantes de build, consulte Escolher um destino.

  2. Se o DUT estiver executando o Android 13 ou versões mais recentes, verifique se o build tem ro.product.first_api_level definido como o nível da API com que o dispositivo foi lançado comercialmente. Para definir esse valor, faça a seguinte mudança no arquivo device.mk:

    PRODUCT_SHIPPING_API_LEVEL := 21
    

    Alguns requisitos do CTS dependem do build com que um dispositivo foi originalmente enviado. Por exemplo, dispositivos que foram lançados originalmente com builds anteriores podem ser excluídos dos requisitos do sistema aplicáveis a dispositivos lançados com builds mais recentes. Para valores válidos de nível de API, consulte Codinomes, tags e números de build. Para mais informações sobre ro.product.first_api_level, consulte Nível da API do fornecedor.

    Para Android 10 ou versões anteriores, consulte Configurar o CTS (AOSP 10 ou versões anteriores).

  3. Se o dispositivo for compatível com o gerenciamento de pacotes APEX:

    1. Faça o download do pacote de shim do APEX para sua versão específica do Android e arquitetura de hardware. As duas colunas à esquerda na tabela pacotes shim fornecem links para o pacote a ser baixado.
    2. Copie o pacote baixado para /system/apex.
    3. Renomeie o arquivo para com.android.apex.cts.shim.apex.
  4. Se o dispositivo não for compatível com o gerenciamento de pacotes APEX:

    1. Faça o download dos pacotes de shim do APEX para sua versão específica do Android e arquitetura de hardware. As duas colunas à direita na tabela de pacotes shim fornecem links para os pacotes que podem ser baixados.
    2. Copie o CtsShim.apk para /system/app/
    3. Renomeie CtsShim.apk para CtsShimPrebuilt.apk.
    4. Copie o CtsShimPriv.apk para /system/priv-app/
    5. Renomeie CtsShimPriv.apk para CtsShimPrivPrebuilt.apk.
  5. Se o dispositivo informar mais de um elemento seguro:

    1. Baixe google-cardlet.cap.
    2. Copie o arquivo baixado para /data/uicc/cardlets/.
  6. Se o dispositivo informar mais de um elemento seguro, instale o miniaplicativo de amostra no elemento seguro incorporado (eSE) do DUT ou no chip usado pelo DUT. Para mais informações, consulte Teste do CTS para elemento seguro.

  7. Se o dispositivo não tiver uma tela integrada, conecte uma tela a ele.

  8. Se o dispositivo tiver um slot para cartão de memória, conecte um cartão SD vazio. Use um cartão SD que ofereça suporte a um barramento de velocidade ultra-alta (UHS) com capacidade SDHC ou SDXC ou um cartão com classe de velocidade 10 ou superior para garantir que ele possa passar no CTS.

  9. Se o dispositivo tiver slots de chip, conecte um chip ativado em cada slot. Se o dispositivo for compatível com SMS, cada chip precisará ter o próprio campo de número preenchido. Para dispositivos com Android 12 ou versões mais recentes, todos os chips precisam oferecer suporte ao armazenamento de números de discagem abreviados (ADN). Os cartões GSM e USIM com o arquivo dedicado de telecomunicações (DFTelecom) atendem a esse requisito.

  10. Verifique se o dispositivo tem um chip com privilégios de operadora do CTS que atendam aos requisitos especificados em Preparar o UICC.

Configurar o DUT

Siga estas etapas para configurar o DUT para uso com o CTS.

No DUT:

  1. Redefina o dispositivo para a configuração original.

  2. Defina o idioma do dispositivo como inglês (Estados Unidos).

  3. Se o dispositivo permitir a personalização das fontes padrão, verifique se a família de fontes sans-serif padrão está definida como Roboto.

  4. Se o dispositivo tiver um recurso de GPS, Wi-Fi ou rede móvel, ative a configuração de localização.

  5. Conecte-se a uma rede Wi-Fi que ofereça suporte a IPv6, possa tratar o DUT como um cliente isolado e tenha uma conexão de Internet. Para uma explicação sobre clientes isolados, consulte Configurar o ambiente físico.

  6. Verifique se não há um padrão de bloqueio ou senha definida.

  7. Ative a depuração USB:

    1. Navegue até Configurações > Sobre o dispositivo e toque em Número da versão sete vezes. As Opções do desenvolvedor aparecem na categoria de configurações Sistema.

    2. Toque em Depuração USB.

    Para ativar a depuração USB no Android 10 ou em versões anteriores, consulte Configurar o CTS (AOSP 10 ou versões anteriores).

  8. Defina o horário no formato de 12 horas.

  9. Ative Opções do desenvolvedor > Manter ativado.

  10. Desative a verificação de apps por USB:

    1. Navegue até Opções do desenvolvedor.

    2. Toque em Verificar apps por USB.

  11. No Android 13 ou versões mais recentes, ative o modem simulado:

    1. Navegue até Opções do desenvolvedor.

    2. Toque em Permitir Mock Modem.

    Essa configuração é necessária para testes de telefonia específicos.

No computador desktop:

  1. Inicie o navegador e feche qualquer tela de inicialização ou configuração.

  2. Conecte o DUT à máquina desktop usando um cabo USB.

  3. Se o sistema pedir para você aceitar uma Chave RSA que permite a depuração por esse computador, clique em Permitir a depuração USB.

  4. Defina Roboto2 como a fonte sem serifa usando uma configuração acessível ao usuário (não oculta).

  5. Copie os arquivos de mídia do CTS para o DUT:

    1. Navegue (cd) até o caminho em que os arquivos de mídia são baixados e descompactados.
    2. Mude as permissões do arquivo:

      chmod u+x copy_media.sh
      
    3. Copie os arquivos:

      • Para copiar clipes com resolução de até 720x480, execute:

        ./copy_media.sh 720x480
      • Se você não tiver certeza da resolução máxima, copie todos os arquivos:

        ./copy_media.sh all
      • Se houver vários DUTs, adicione a opção serial (-s) de um dispositivo específico ao final. Por exemplo, para copiar até 720x480 para o dispositivo com o número de série 1234567, execute:

        ./copy_media.sh 720x480 -s 1234567

Baixar arquivos do CTS relacionados ao Mainline

Para fazer o download dos arquivos do CTS relacionados ao Mainline:

  1. Para conferir o nível da API Android no dispositivo, execute:

    adb shell getprop ro.build.version.sdk
    
  2. Siga as instruções no script download_mcts.sh para fazer o download dos arquivos do CTS principal.

    O download leva pelo menos 10 minutos, dependendo da velocidade da sua rede.

Pacotes shim

A tabela a seguir lista os pacotes disponíveis para cada versão e arquitetura do dispositivo:

Versão do dispositivo Pacotes (se o APEX for compatível) Pacotes (se o APEX não for compatível)
ARM x86 ARM x86
Android 16 16-arm-release android16-x86-release android16-arm-CtsShim.apk

android16-arm-CtsShimPriv.apk

android16-x86-CtsShim.apk

android16-x86-CtsShimPriv.apk

Android 15 15-arm-release android15-x86-release android15-arm-CtsShim.apk

android15-arm-CtsShimPriv.apk

android15-x86-CtsShim.apk

android15-x86-CtsShimPriv.apk

Android 14 android14-arm-release android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-arm-release android13-x86-release android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-arm-release android12-x86-release android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-arm-release android11-x86-release android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 android10-release android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O e O-MR1 N/A N/A arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Quais são as próximas etapas?

Depois de ler este documento, continue para Executar testes CTS automatizados.