Complete Automotive Tests in a Box (CATBox) é um pacote de código aberto que fornece as estruturas e ferramentas necessárias para otimizar e executar testes automotivos com configuração mínima. O CATBox é escalável e compatível com as ferramentas, infraestrutura e testes que você usa para testar e validar suas implementações do Android Automotive OS (AAOS). Como resultado, você pode fornecer produtos de alta qualidade ao mercado.
Projeto e implementação de CATBox
O conjunto de testes CATBox fornece as ferramentas, estruturas e testes necessários para executar testes funcionais e de desempenho em um dispositivo de destino automotivo.
A imagem a seguir ilustra um design de alto nível de um pacote CATBox.
Figura 1. Pacote CATBox
Tradefed
Tradefed é uma estrutura de teste contínuo de código aberto usada para executar testes em dispositivos Android. Para obter detalhes, consulte Visão geral da Federação de Comércio .
Estrutura de teste automotivo
O CATBox é baseado em um framework de teste automotivo chamado Spectatio, que fornece APIs para testar vários aplicativos em dispositivos automotivos. Ele é construído sobre o UI Automator , uma estrutura de teste de código aberto, que fornece um conjunto de APIs para criar testes de interface do usuário que interagem com aplicativos do usuário e do sistema.
Download do conjunto de testes CATBox
Android 12
O Android 12 é o lançamento do marco de desenvolvimento com o codinome S. Use os links a seguir para fazer o download dos conjuntos de testes do CATBox para o Android 12:
Android 11
O Android 11 é o lançamento do marco de desenvolvimento com o codinome R. Use os links a seguir para fazer o download dos conjuntos de testes do CATBox para o Android 11:
Construir CATBox
Use o comando catbox
build assim que o código Android AOSP estiver disponível na estação de trabalho local. Para construir o pacote CATBox localmente:
Selecione Device Target e execute o seguinte comando:
# Select Device Target Based on Device Architecture $ lunch <target>
Para construir o CATBox, execute o seguinte comando:
# Build CATBox $ make catbox
Esse comando cria o arquivo
android-catbox.zip
no diretório/out/host/linux-x86/catbox
, que pode ser usado para executar testes.
Configuração do ambiente
A configuração do ambiente necessária para executar os testes do CATBox é semelhante à Configuração do CTS . Para configurar o ambiente, conclua cada uma das seguintes tarefas:
- Instale ADB e AAPT .
- Instale o JDK. Consulte Kit de desenvolvimento Java para Ubuntu.
- Aumente o limite de memória. Consulte Requisitos de armazenamento .
Configuração e execução do CATBox
Use a estrutura de teste Tradefed para executar os testes em dispositivos Android. Antes de configurar o CATBox, familiarize-se com a Visão Geral da Federação de Comércio .
Para configurar e executar o CATBox, consulte as seções abaixo.
Configuração do dispositivo
Antes de executar um plano de teste, conclua as etapas a seguir para configurar seu dispositivo:
Certifique-se de ter instalado as versões recentes do Android Debug Bridge (adb) e do Android Asset Packaging Tool (AAPT) , bem como adicionado o local dessas ferramentas ao caminho do sistema de sua máquina. Para obter detalhes, consulte ADB e AAPT .
Conecte pelo menos um dispositivo e prepare o dispositivo em teste (DUT) da seguinte forma:
- Para redefinir o dispositivo automotivo de fábrica, clique em Configurações > Sistema > Redefinir opções > Apagar todos os dados .
- Aguarde o dispositivo reiniciar automaticamente.
Certifique-se de que o adb esteja ativado. Para confirmar se o dispositivo está disponível, execute o seguinte comando:
$ adb devices
Para habilitar o root, execute o seguinte comando:
# Enable Root $ adb -s DEVICE_SERIAL root
Substitua
DEVICE_SERIAL
pelo Serial ID do dispositivo automotivo.Conecte-se ao Wi-Fi.
Extraia o pacote CATBox
Após concluir a configuração do dispositivo, descompacte o pacote CATBox e vá para a pasta extraída:
# Extract the CATBox Package
$ unzip android-catbox.zip
# Navigate to extracted CATBox Package
$ cd android-catbox
Executar testes no CATBox
Para executar o CATBox com os planos de teste no pacote CATBox, execute o seguinte:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Substitua DEVICE_SERIAL
pelo Serial ID do dispositivo automotivo. Se você tiver vários dispositivos conectados à máquina host, use DEVICE_SERIAL
para distingui-los. Substitua TEST_PLAN_NAME
pelo nome do plano de teste que você deseja executar.
Para obter uma lista completa dos planos de teste disponíveis, execute o seguinte:
./tools/catbox-tradefed list plans | grep -i catbox
A tabela a seguir exibe os planos de teste disponíveis por tipo:
Tipo de teste | Nome |
---|---|
Planos de teste funcional | catbox-functional-notification catbox-functional-setting catbox-functional-dial catbox-functional-system-setting catbox-functional-app-info-setting catbox-functional-network-setting catbox-functional-security-setting catbox-functional-sound-setting catbox-functional-date-time-setting catbox-functional-appgrid catbox-functional-home catbox-functional-lock-screen catbox-functional-navigation-bar catbox-functional-ux-restriction catbox-functional-bluetooth-audio |
Planos de teste de desempenho | catbox-performance-cold-app-start-up-settings catbox-performance-hot-app-start-up-settings catbox-performance-jank-settings catbox-performance-cold-app-start-up-dialer catbox-performance-hot-app-start-up-dialer catbox-performance-jank-contact-list catbox-performance-jank-notifications catbox-performance-jank-appgrid catbox-performance-cold-app-start-up-mediacenter catbox-performance-hot-app-start-up-mediacenter catbox-performance-create-and-switch-to-new-guest catbox-performance-create-and-switch-to-new-user catbox-performance-create-and-switch-to-precreated-guest catbox-performance-create-and-switch-to-precreated-user catbox-performance-switch-to-existing-user |
Resultados do teste CATBox
Os resultados dos testes são salvos na pasta android-catbox/results/latest
para execuções de testes funcionais e de desempenho.
- Para obter resultados de teste, consulte
test_result.xml
. - Para detalhes de testes de falha, consulte
test_result_failures_suite.html
. - Para obter resultados de métricas de desempenho, consulte
CatboxPerformanceTests.reportlog.json
no diretórioreport-log-files
.
Os logs são salvos no caminho android-catbox/logs/latest
para execuções de teste funcional e de desempenho.
Alguns testes, como os testes de discagem, áudio Bluetooth e lista de contatos, exigem configuração adicional do dispositivo.
Teste de discagem
O teste de discagem requer configuração do dispositivo e parâmetros de tempo de execução. Para configurar o dispositivo:
- Conecte o dispositivo móvel à unidade principal Automotive através de Bluetooth.
- Verifique se o telefone de teste contém um cartão SIM para executar testes de discagem e está conectado à rede móvel.
- Os testes de discagem usam contatos padrão armazenados no telefone. Use o contacts.vcf para carregar contatos no telefone.
Substitua o
COMPANION_SERIAL
pelo Serial ID do telefone e execute os seguintes comandos:# Contacts can be loaded on the phone by pushing the contacts.vcf file on the phone and importing it in the Contacts application. OR # Importing contacts using adb. # Push contacts VCF file to phone $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf # Grant Read Permissions $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts android.permission.READ_EXTERNAL_STORAGE # Import contacts from the VCF file $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf -a android.intent.action.VIEW com.google.android.contacts # Then accept the prompts on the UI to load the contacts.
Parâmetros de tempo de execução
Os testes de discagem usam números de telefone pequenos e grandes para execução de teste. Os testes de discagem também usam o nome do contato e o número do contato para testes de pesquisa. Use os seguintes parâmetros para fornecer essas informações:
Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>
Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>
Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >
Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >
Teste de áudio Bluetooth
Para configurar um dispositivo para o teste de áudio Bluetooth:
- Verifique se o aplicativo YouTube Music está instalado no telefone e se você está conectado a uma conta. Caso contrário, instale o aplicativo e faça login em uma conta.
- Emparelhe o telefone manualmente com o dispositivo automotivo por meio de Bluetooth.
- Assim que o telefone estiver emparelhado, toque uma música no telefone e comece a executar o teste.
Teste de instabilidade da lista de contatos
Para configurar um dispositivo para o teste de instabilidade da lista de contatos:
- Certifique-se de que o telefone tenha vários contatos para que o teste possa rolar pela lista de contatos para coletar métricas de instabilidade.
- Emparelhe o telefone manualmente com o dispositivo automotivo por meio de Bluetooth.
- Assim que o telefone estiver pareado, os contatos poderão ser acessados no dispositivo.