Antes de executar testes CTS automatizados, 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 que dispositivos externos sejam configurados perto do DUT. Para configurar o ambiente físico:
(Opcional) Se o DUT for compatível com Bluetooth LE, coloque pelo menos três sensores Bluetooth LE a até 5 metros do DUT para testes de verificação de 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.
Coloque o smartphone na frente de 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 que os sensores em teste
alcancem e permaneçam no máximo de frames por segundo (FPS) configurados, conforme
especificado em
CONTROL_AE_TARGET_FPS_RANGE
. - Essa configuração se aplica a todos os sensores de câmera informados por
getCameraIdList
, já que o teste itera sobre os dispositivos listados e mede o desempenho individualmente. - Se o DUT oferecer suporte a câmeras externas, como webcams USB, conecte uma câmera externa ao executar o CTS. Caso contrário, os testes de CTS falham.
- A cena precisa ter iluminação suficiente para que os sensores em teste
alcancem e permaneçam no máximo de frames por segundo (FPS) configurados, conforme
especificado em
(Opcional) Se o DUT oferecer suporte a 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 de sinal adequado para recepção e cálculo de localização. Além disso:
- O GPS precisa estar em conformidade com o ICD-GPS-200C.
- O sinal GNSS pode ser de qualquer tipo, incluindo um simulador de satélite ou um repetidor de sinais externos.
- É possível colocar o DUT perto de uma janela para que ele receba diretamente um sinal GNSS suficiente de um satélite.
Verifique se a rede Wi-Fi oferece suporte a IPv4 e IPv6, tem uma conexão de Internet com DNS para IPv4 e IPv6, oferece suporte a IP multicast e pode tratar o DUT como um cliente isolado.
Se você não tiver acesso a uma rede IPv6 nativa, a uma rede de operadora IPv6 ou a uma VPN para passar nos testes de IPv6, use um AP Wi-Fi e um túnel IPv6.
Verifique se o DUT tem as flags
UP
,BROADCAST
eMULTICAST
definidas na interface do Wi-Fi.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
.(Opcional) Se o DUT oferecer suporte à concorrência de STA ou STA Wi-Fi, configure pelo menos duas redes Wi-Fi. Essas redes Wi-Fi precisam ser executadas em faixas diferentes com SSIDs diferentes ou no mesmo SSID com BSSIDs diferentes.
(Opcional) Se o DUT for compatível com o tempo de retorno do Wi-Fi (RTT), configure um dispositivo compatível com o RTT do Wi-Fi:
- Coloque o dispositivo RTT Wi-Fi a 12 metros do DUT.
- Ligue o dispositivo Wi-Fi RTT.
Confira dois dispositivos recomendados com suporte ao RTT do Wi-Fi: - Google Wifi - Ponto de acesso fitlet2 da Compulab (configurado para largura de banda de 40 MHz a 5 GHz).
Configurar a máquina de área de trabalho
Antes de executar os testes automatizados do CTS, verifique se a máquina de mesa atende aos requisitos de hardware e sistema operacional e se o software correto está instalado, conforme descrito nas seções a seguir.
Atender aos requisitos de hardware
A máquina de desktop 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 do 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.
Instalar o software para computador
Para instalar o software de computador correto para o CTS:
Instale as versões mais recentes do Android Debug Bridge (adb) e da Android Asset Packaging Tool (AAPT2) e adicione o local dessas ferramentas ao caminho do sistema da sua máquina:
- 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. - Atualize o caminho do sistema para incluir o local do
sdkmanager
recém-instalado. - Usando
sdkmanager
, instale os pacotesplatform-tools
ebuild-tools
mais recentes. Esses pacotes contêm adb e AAPT2. Para saber como instalar pacotes, consulte Instalar pacotes. - Atualize o caminho para incluir o local das ferramentas adb e AAPT2 recém-instaladas.
- Verifique se o adb e o AAPT2 estão no seu caminho.
- Siga as instruções no início da documentação do SDK Manager para instalar a ferramenta de linha de comando
Instale a versão correta do Kit de desenvolvimento para Java (JDK):
- Para o Android 11 ou mais recente, instale o JDK 11.
- Para o Android 10 ou versões anteriores, consulte Configurar o CTS (AOSP 10 ou versões anteriores).
(opcional) No Android 13 ou mais recente, instale o virtualenv. A ferramenta virtualenv é necessária para testes em vários dispositivos.
Para garantir que o Python esteja instalado, digite
python3
. A versão e a data do Python vão aparecer, indicando que o Python está instalado corretamente.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.
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 do Big Buck Bunny, que são protegidos por direitos autorais da Blender Foundation sob a Licença Creative Commons Atribuição 3.0.
(opcional) Quando você executa o CTS pela primeira vez, ele faz o download dinâmico de alguns arquivos do CTS relacionados à linha principal. 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 adicional, faça o download dos arquivos de CTS relacionados à linha principal antes de executar o CTS. Para informações sobre como fazer o download dos arquivos do CTS relacionados ao Mainline, consulte Fazer o download de arquivos do CTS relacionados ao Mainline.
Preparar o DUT
Depois de configurar a máquina de desktop, você precisa configurar o DUT.
Configurar o DUT
Para configurar o DUT:
Verifique se o DUT está executando uma imagem do sistema com base no build do usuário compatível (Android 4.0 ou mais recente) de 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.Se o DUT estiver executando o Android 13 ou mais recente, verifique se o build tem
ro.product.first_api_level
definido para o nível da API com que o dispositivo foi lançado comercialmente. Para definir esse valor, faça a seguinte alteração no arquivodevice.mk
:PRODUCT_SHIPPING_API_LEVEL := 21
Alguns requisitos do CTS dependem do build com que um dispositivo foi enviado originalmente. Por exemplo, os dispositivos que são enviados originalmente com builds anteriores podem ser excluídos dos requisitos do sistema que se aplicam a dispositivos enviados com builds mais recentes. Para valores de nível de API válidos, 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 o Android 10 ou versões anteriores, consulte Configurar o CTS (AOSP 10 ou versões anteriores).
Se o dispositivo for compatível com o gerenciamento de pacotes APEX:
- Faça o download do pacote de shim APEX para sua versão específica do Android e arquitetura de hardware. As duas colunas à esquerda na tabela shim packages fornecem links para o pacote a ser baixado.
- Copie o pacote transferido por download para
/system/apex
. - Renomeie o arquivo como
com.android.apex.cts.shim.apex
.
Se o dispositivo não for compatível com o gerenciamento de pacotes APEX:
- Faça o download dos pacotes de shim APEX para sua versão específica do Android e arquitetura de hardware. As duas colunas à direita na tabela pacotes de shim fornecem links para os pacotes a serem transferidos por download.
- Copie
CtsShim.apk
para/system/app/
- Renomeie
CtsShim.apk
comoCtsShimPrebuilt.apk
. - Copie
CtsShimPriv.apk
para/system/priv-app/
- Renomeie
CtsShimPriv.apk
comoCtsShimPrivPrebuilt.apk
.
Se o dispositivo informar mais de um elemento seguro:
- Faça o download de
google-cardlet.cap
. - Copie o arquivo salvo para
/data/uicc/cardlets/
.
- Faça o download de
Se o dispositivo informar mais de um elemento de segurança, instale o applet de exemplo no elemento de segurança incorporado (eSE, na sigla em inglês) do DUT ou no cartão SIM usado pelo DUT. Para mais informações, consulte Teste do CTS para o elemento seguro.
Se o dispositivo não tiver uma tela integrada, conecte uma tela ao dispositivo.
Se o dispositivo tiver um slot para cartão de memória, insira um cartão SD vazio. Use um cartão SD compatível com um barramento de ultravelocidade (UHS) com capacidade SDHC ou SDXC ou um cartão com classe de velocidade 10 ou superior para garantir que ele possa ser aprovado no CTS.
Se o dispositivo tiver slots de chip, insira um chip ativado em cada slot. Se o dispositivo for compatível com SMS, cada chip precisa ter o próprio campo de número preenchido. Para dispositivos com o Android 12 ou versões mais recentes, todos os chips precisam oferecer suporte ao armazenamento de números de discagem abreviados (ADN, na sigla em inglês). Os cartões GSM e USIM com o arquivo dedicado de telecomunicações (DFTelecom) atendem a esse requisito.
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 as etapas abaixo para configurar o DUT para uso com o CTS.
No DUT:
Redefina o dispositivo para a configuração original.
Defina o idioma do dispositivo como inglês (Estados Unidos).
Se o dispositivo oferecer suporte à personalização de fontes padrão, verifique se a família de fontes sans-serif padrão está definida como Roboto.
Se houver um recurso de GPS, Wi-Fi ou rede móvel no dispositivo, ative a configuração de localização.
Conecte-se a uma rede Wi-Fi compatível com IPv6, que pode tratar o DUT como um cliente isolado e tem uma conexão de Internet. Para uma explicação sobre clientes isolados, consulte Configurar o ambiente físico.
Verifique se não há um padrão de bloqueio ou senha definidos.
Ativar a depuração USB:
Acesse 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.
Toque em Depuração USB.
Para ativar a depuração por USB no Android 10 ou versões anteriores, consulte Configurar o CTS (AOSP 10 ou versões anteriores).
Defina o horário no formato de 12 horas.
Ative Opções do desenvolvedor > Manter a tela ativa.
Desativar a verificação de apps por USB:
Navegue até as Opções do desenvolvedor.
Toque em Verificar apps por USB.
No Android 13 ou mais recente, ative o modem simulado:
Navegue até as Opções do desenvolvedor.
Toque em Permitir Mock Modem.
Essa configuração é necessária para testes de telefonia específicos.
Na máquina desktop:
Inicie o navegador e feche qualquer tela de inicialização ou configuração.
Conecte o DUT à máquina de desktop usando um cabo USB.
Se o sistema solicitar que você aceite uma chave RSA que permite a depuração por esse computador, clique em Permitir a depuração USB.
Defina Roboto2 como a fonte sem serifa usando uma configuração acessível ao usuário (não oculta).
Copie os arquivos de mídia do CTS para o DUT:
- Navegue (
cd
) até o caminho em que os arquivos de mídia são transferidos por download e descompactados. Mude as permissões do arquivo:
chmod u+x copy_media.sh
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 de série (
-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
- Navegue (
Fazer o download de arquivos do CTS relacionados à linha principal
Para fazer o download dos arquivos do CTS relacionados à Mainline:
Para conferir o nível da API Android no dispositivo, execute o seguinte:
adb shell getprop ro.build.version.sdk
Siga as instruções no script
download_mcts.sh
para fazer o download dos arquivos da CTS principal.O download leva pelo menos 10 minutos, dependendo da velocidade da rede.
Pacotes de shim
A tabela a seguir lista os pacotes disponíveis para cada versão e arquitetura do dispositivo:
Versão do dispositivo | Pacotes (se houver suporte para APEX) | Pacotes (se o APEX não tiver suporte) | ||
---|---|---|---|---|
ARM | x86 | ARM | x86 | |
Android 15 |
15-arm-release
|
android15-x86-release
|
android15-arm-CtsShim.apk
|
android15-x86-CtsShim.apk
|
Android 14 |
android14-arm-release
|
android14-x86-release
|
android14-arm-CtsShim.apk
|
android14-x86-CtsShim.apk
|
Android 13 |
android13-arm-release
|
android13-x86-release
|
android13-arm-CtsShim.apk
|
android13-x86-CtsShim.apk
|
Android 12 |
android12-arm-release
|
android12-x86-release
|
android12-arm-CtsShim.apk
|
android12-x86-CtsShim.apk
|
Android 11 |
android11-arm-release
|
android11-x86-release
|
android11-arm-CtsShim.apk
|
android11-x86-CtsShim.apk
|
Android 10 |
android10-release
|
android10-arm-CtsShim.apk
|
android10-x86-CtsShim.apk
|
|
Android 9, O e O-MR1 | N/A | N/A |
arm-CtsShim.apk
|
x86-CtsShim.apk
|
Qual é a próxima etapa?
Depois de ler este documento, continue em Executar testes automatizados de CTS.