O Complete Automotive Tests in a Box (CATBox) é um pacote de código aberto que oferece as estruturas e ferramentas necessárias para simplificar e executar modelos com configuração mínima. O CATBox é escalonável e compatível com as ferramentas, a infraestrutura e os testes usados para testar e validar as Implementações do Automotive OS (AAOS). Como resultado, você pode fornecer insights de alta qualidade mais produtos ao mercado.
Design e implementação do CATBox
O pacote de testes CATBox oferece as ferramentas, frameworks e testes necessários para executar testes funcionais e de desempenho em um dispositivo automotivo alvo e ao usar um dispositivo complementar.
A imagem a seguir ilustra um design de alto nível de um pacote CATBox.
Figura 1. Pacote CATBox
Tradefed
O Tradefed é um framework de teste contínuo de código aberto usado para executar testes em Dispositivos Android. Para mais detalhes, consulte a Visão geral do Trade Federation.
Estrutura de testes automotivos
O CATBox é baseado em um framework de testes automotivo chamado Spectatio, que fornece APIs para testes em vários apps em dispositivos automotivos. Ele é construído sobre de UI Automator; uma estrutura de teste de código aberto, que fornece um conjunto de APIs para criar testes de interface que interagem com aplicativos do sistema e do usuário.
Downloads do pacote de testes CATBox
Android 14
O Android Automotive 14 é o lançamento do o marco de desenvolvimento codinome U. Use os links a seguir para fazer o download Conjuntos de testes do CATBox para o Android 14:
Android 12
O Android 12 é a versão do marco de desenvolvimento de codinome S. Use os links a seguir para fazer o download dos pacotes de teste CATBox para Android 12:
Android 11
O Android 11 é o lançamento do marco de desenvolvimento codinome R. Use o links abaixo para fazer o download dos pacotes de testes do CATBox para o Android 11:
Criar CATBox
Use o comando de build catbox
quando o código AOSP do Android estiver disponível na
estação de trabalho local.
Para criar o pacote CATBox localmente:
Selecione o destino do dispositivo com base na arquitetura do dispositivo e execute o seguinte comando:
lunch <target>
Para criar o CATBox, execute o seguinte comando:
make catbox
Esse comando cria o arquivo
android-catbox.zip
na/out/host/linux-x86/catbox
, que pode ser usado para executar testes.
configurar o ambiente
A configuração do ambiente necessária para executar testes do CATBox é semelhante a Como configurar o CTS. Para configurar do ambiente de execução, conclua cada uma das tarefas a seguir:
Instale o ADB e o AAPT.
Instale o JDK. Consulte Kit de desenvolvimento em Java para Ubuntu.
Aumentar o limite de memória. Consulte Requisitos de armazenamento.
Configurar e executar o CATBox
Use o framework de testes da Tradefed para executar os testes em dispositivos Android. Antes de você configurar o CATBox, consulte a Visão geral do Trade Federation.
Para configurar e executar o CATBox, consulte as seções abaixo.
Configurar o dispositivo
Antes de executar um plano de teste, siga estas etapas para configurar o dispositivo:
Verifique se você instalou as versões recentes dos dois Android Debug Bridge (adb) e o Android Asset Packaging Tool (AAPT), além de adicionar o local dessas ferramentas no caminho do sistema do seu máquina virtual. Para mais detalhes, consulte ADB e AAPT.
Conectar pelo menos um dispositivo e preparar o dispositivo em teste (DUT) como da seguinte forma:
Para redefinir o dispositivo automotivo para a configuração original, acesse Configurações > Sistema > Opções de redefinição > Limpar todos os dados.
Aguarde a reinicialização automática do dispositivo.
Verifique se o adb está ativado. Para confirmar se o dispositivo está disponível, execute o seguinte comando:
adb devices
Para ativar a raiz, execute o seguinte comando:
adb -s DEVICE_SERIAL root
Substitua
DEVICE_SERIAL
pelo ID de série do um dispositivo automotivo.Conecte-se à rede Wi-Fi.
Extrair o pacote CATBox
Depois de configurar o dispositivo, descompacte o pacote CATBox e acesse a pasta extraída:
unzip android-catbox.zip
cd android-catbox
Executar testes no CATBox
Para executar o CATBox com os planos de teste no pacote CATBox:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Substitua DEVICE_SERIAL
pelo ID de série do
um dispositivo automotivo. Se você tiver vários dispositivos conectados à máquina host,
use DEVICE_SERIAL
para distingui-los. Substituir
TEST_PLAN_NAME
pelo nome do plano de teste que você quer;
para ser executado.
Para ver a lista mais completa de planos disponíveis, use a linha de comando:
./tools/catbox-tradefed list plans | grep -i catbox
Tipos de planos de teste
A tabela a seguir exibe os planos de teste funcionais disponíveis.
Planos de testes funcionais | Descrição |
---|---|
catbox-functional |
Testes funcionais. |
catbox-functional-app-info-setting |
Testes funcionais da configuração de informações do app. |
catbox-functional-admin-user-grant-permissions |
O usuário administrador concede testes funcionais de permissões. |
catbox-functional-app-info-setting-ui-elements |
Testes funcionais da configuração de informações do app. |
catbox-functional-appgrid |
Testes funcionais da grade de apps. |
catbox-functional-base |
Lista de testes funcionais. |
catbox-functional-bluetooth-audio |
Testes funcionais de áudio Bluetooth. |
catbox-functional-bluetooth-palette |
Testes funcionais da barra de status. |
catbox-functional-bluetooth-tests |
Testes de Bluetooth usando o Mobly. |
catbox-functional-brightness-palette |
Testes funcionais da barra de status. |
catbox-functional-btmoped |
Testes funcionais baseados em ciclomotores Bluetooth. |
catbox-functional-date-time-setting |
Testes funcionais de configuração de data e hora. |
catbox-functional-dial |
Ligar para testes funcionais. |
catbox-functional-display-setting |
Exibir testes funcionais de configuração. |
catbox-functional-driving-optimized-apps |
Testes funcionais de restrição de UX. |
catbox-functional-enable-developers-option |
Ativar a opção de testes funcionais dos desenvolvedores. |
catbox-functional-home |
Testes funcionais domésticos. |
catbox-functional-lock-screen |
Testes funcionais da tela de bloqueio. |
catbox-functional-mediacenter |
Testes funcionais do Media Center. |
catbox-functional-microphone-recent-apps |
Testes funcionais de configuração do microfone. |
catbox-functional-microphone-setting |
Testes funcionais de configuração do microfone. |
catbox-functional-multiuser |
Testes funcionais multiusuários. |
catbox-functional-multiuser-system-user |
Testes funcionais multiusuários. |
catbox-functional-navigation-bar |
Testes funcionais da barra de navegação. |
catbox-functional-network-palette |
Testes funcionais da barra de status. |
catbox-functional-network-setting |
Testes funcionais de configuração de rede. |
catbox-functional-notification |
Testes funcionais de notificação. |
catbox-functional-privacy-permission-manager |
Testes funcionais da configuração da permissão do app de privacidade. |
catbox-functional-privacy-setting |
Testes funcionais de configuração do microfone. |
catbox-functional-privacy-setting-ui-elements |
Testes funcionais da configuração de privacidade. |
catbox-functional-profile-icon |
Testes funcionais da barra de ícone de perfil. |
catbox-functional-profiles-icon-list |
Testes da lista de ícones de perfis. |
catbox-functional-security-setting |
Testes funcionais de configuração de segurança. |
catbox-functional-setting |
Configurar testes funcionais. |
catbox-functional-settings-location |
Configurando testes de local. |
catbox-functional-sound-setting |
Testes funcionais de configuração de som. |
catbox-functional-status-bar |
Testes funcionais da barra de status. |
catbox-functional-storage-setting |
Testes funcionais de configuração de armazenamento. |
catbox-functional-system-setting |
Testes funcionais de configuração do sistema. |
catbox-functional-systemui |
Testes da interface do sistema. |
catbox-functional-ux-restriction |
Testes funcionais de restrição de UX. |
catbox-functional-ux-restriction-facet-bar |
Testes funcionais de restrição de UX. |
A tabela a seguir lista os planos de teste de desempenho do CATBox.
Planos de teste de desempenho | Descrição |
---|---|
catbox-performance-cold-app-start-up-dialer |
Teste de desempenho da inicialização a frio de um app para Telefone e Telefone. |
catbox-performance-cold-app-start-up-mediacenter |
Teste de desempenho da inicialização a frio de apps para o Media Center. |
catbox-performance-cold-app-start-up-settings |
Teste de desempenho de inicialização a frio para configurações. |
catbox-performance-create-and-switch-to-new-guest |
Medir a latência para mudar para um novo convidado. |
catbox-performance-create-and-switch-to-new-user |
Medir a latência para mudar para um novo usuário que não é administrador. |
catbox-performance-hot-app-start-up-dialer |
Teste de desempenho de inicialização de app quente para Telefone e Telefone. |
catbox-performance-hot-app-start-up-mediacenter |
Teste de desempenho da inicialização do app a quente para o Media Center. |
catbox-performance-hot-app-start-up-settings |
Teste de desempenho da inicialização do app a quente para Configurações. |
catbox-performance-jank-appgrid |
Teste de desempenho para o Appgrid. |
catbox-performance-jank-contact-list |
Teste de desempenho do Contatos. |
catbox-performance-jank-media |
Testes de desempenho para mídia. |
catbox-performance-jank-media-switch-playback |
Teste de desempenho para reprodução do interruptor de mídia. |
catbox-performance-jank-notifications |
Teste de desempenho para notificações. |
catbox-performance-jank-settings |
Teste de desempenho para as Configurações. |
catbox-performance-switch-to-existing-user |
Medir a latência para mudar para um usuário atual. |
Executar o teste no lado do host de vários dispositivos
A execução de testes no lado do host de vários dispositivos usa o CATBox para executar o teste
em uma sessão. Por exemplo, BTDiscoveryTest
:
make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest
O CATBox instala o apk
e, em seguida, o teste é executado no Python correto.
ou ambiente de execução.
Analisar os resultados do teste do CATBox
Os resultados das execuções de testes funcionais e de desempenho são salvos em
android-catbox/results/latest
:
Tipo de resultado | Local |
---|---|
Resultados dos testes | test_result.xml |
Detalhes dos testes de falha | test_result_failures_suite.html |
Resultados das métricas de performance | /report-log-files/CatboxPerformanceTests.reportlog.json |
Execuções de testes funcionais e de desempenho | /android-catbox/logs/latest |