O Trade Federation é um framework de teste contínuo para executar testes em dispositivos Android. Para executar o conjunto de teste de compatibilidade (CTS), leia primeiro a Visão geral da Trade Federation para uma explicação do framework de teste da Tradefed.
Para executar um plano de teste:
- Configure os dispositivos em teste (DUTs) de acordo com a configuração do dispositivo Android.
- Verifique se você instalou as versões recentes do Android Debug Bridge (adb) e da Android Asset Packaging Tool (AAPT) e adicionou o local dessas ferramentas ao caminho do sistema da sua máquina. Para informações sobre a instalação dessas ferramentas, consulte Como configurar o CTS: ADB e AAPT.
- Faça o download dos builds CTS lançados na máquina host Linux e descompacte o build para o local do host.
- Conecte pelo menos um dispositivo. Para preparar o DUT:
- Pressione o botão home para definir a tela inicial do dispositivo.
- Não use o DUT para outras tarefas.
- Mantenha o DUT em uma posição estacionária para evitar acionar a atividade do sensor.
- Aponte a câmera do dispositivo para um objeto que possa ser focado.
- Não pressione nenhuma tecla no dispositivo enquanto o CTS estiver em execução. Pressionar teclas ou tocar na tela de um DUT interfere nos testes em execução e pode levar a falhas.
Inicie o script cts-tradefed do console CTS na pasta em que o pacote CTS foi descompactado. No shell de linha de comando do host, execute:
./android-cts/tools/cts-tradefed
Execute o plano de teste padrão (contém todos os pacotes de teste):
- Para o CTS 11 e versões anteriores
cts-tradefed > run cts
Para o CTS 12 e versões mais recentes
cts-console > run cts
Se você quiser melhorar o tempo de execução do teste, é possível fragmentar os testes em vários dispositivos. O fragmentação exige que o host se conecte a pelo menos dois dispositivos, mas seis ou mais dispositivos são recomendados para eficiência. Ao dividir mais de um dispositivo:
No Android 9 e versões mais recentes, use a opção de comando
--shard-count number_of_shards
No Android 8.1 e versões anteriores, use a opção de comando
--shards number_of_shards
Se você não quiser executar todo o conjunto de testes, execute o plano CTS de sua escolha na linha de comando:
run cts --plan test_plan_name
Para encontrar o nome do plano de teste:
Para o Android 7.0 e versões mais recentes, para conferir uma lista de módulos de teste, digite
list modules
Para o Android 6.0 e versões anteriores, para conferir uma lista de planos de teste no repositório, digite
list plans
Para o Android 6.0 e versões anteriores, para conferir uma lista de pacotes de teste no repositório, digite
list packages
Para mais opções de comando, dependendo das versões do CTS, consulte a referência de comando do console ou "help all" no console Tradefed.
- Para o CTS 11 e versões anteriores
Execute várias sessões de repetição até que todos os módulos de teste sejam concluídos e os números de falha do teste sejam os mesmos nas duas últimas sessões de repetição.
No Android 9 e versões mais recentes, use
run retry --retry session_number --shard-count number_of_shards
Para Android 7.0 a 8.1, use
run cts --retry session_number --shards number_of_shards
Para outras opções de comando de repetição, dependendo da versão do CTS, consulte Console de comando do CTS v2.
Para entender os detalhes de implementação da repetição da CTS, consulte Repetição do pacote Trade Federation.
Execute uma sessão de nova tentativa apenas em testes parametrizados com falha. Os testes parametrizados aprovados não são tentados novamente.
No Android 11 e versões mais recentes, a seguinte opção de comando de nova tentativa é ativada por padrão no comando
run cts
:run retry --retry
--new-parameterized-handling
Confira o progresso e os resultados do teste informados no console.
Executar o CTS usando a Android Test Station
A Android Test Station é uma ferramenta de automação de testes que desenvolvedores e engenheiros de teste do Android podem usar para empregar uma interface do usuário para executar pacotes de testes padrão. Ele funciona com o Conjunto de teste de compatibilidade do Android (CTS).
A ferramenta está disponível publicamente no
Guia do usuário do ATS,
e o código dela é de código aberto no AOSP
(multitest_transport
,
tradefed_cluster
).
Executar o CTS para modos alternativos
A versão CTS 10 R4 adiciona um plano de teste para dispositivos com modos alternativos ou
com mais de uma tela. Execute o plano de teste de modos alternativos usando
run cts-foldable
.
Os casos de teste aprovados ou reprovados para o modo de tela alternativo são anexados com o
valor de display_mode
, por exemplo, testcase1[display_mode=0]
.
No CTS 13, a API DeviceStateManager permite que módulos de teste com a seguinte
opção de configuração sejam executados em diferentes estados de um dispositivo dobrável.
A execução do teste é automática no CTS com base nos estados de dobramento da tela
definidos no dispositivo, sem a necessidade de executar o plano de teste cts-foldable
.
<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />
Testes multidispositivo no CTS
O Android 13 e versões mais recentes oferecem suporte a testes em vários dispositivos.
Os testes que exigem vários dispositivos são executados automaticamente durante a execução do CTS.
O CTS 13 inclui alguns testes em vários dispositivos que são acionados automaticamente quando o fragmentação
é usado. Embora o teste não exija outras mudanças na configuração física,
o virtualenv
precisa ser instalado
para que os testes sejam executados corretamente. Para mais detalhes,
consulte
Pacotes para vários dispositivos.
Executar testes em vários dispositivos
Para executar testes em vários dispositivos de forma independente, use o seguinte código:
cts-tradefed > run cts-multidevice
Todas as opções regulares são aceitas. Para segmentar dispositivos específicos, adicione
--serial <serial1> --serial <serial2>
e assim por diante para o número de dispositivos
segmentados.
Para acionar testes em vários dispositivos automaticamente, use o sharding, como em --shard-count 2
.