Esta seção descreve os aspectos internos do Tradefed e seus relacionamentos. Consulte as subpáginas vinculadas para mais detalhes.
Configurações de teste
As configurações de teste no Tradefed são descritas em um formato XML. Entender a estrutura da configuração é fundamental para executar e personalizar testes.
Estrutura das configurações do TF
Configurações globais de TF
Um arquivo de configuração global é uma configuração XML especial do Tradefed que é
carregada quando o Tradefed é iniciado pela variável de ambiente TF_GLOBAL_CONFIG
. Ele carrega objetos relacionados ao escopo da instância do Tradefed que afetará o comportamento geral do arcabouço.
Detalhes da configuração global
Keystore
O keystore permite a injeção de opções de linha de comando no Tradefed, vindo de um keystore para evitar a referência do valor diretamente na linha de comando. Isso pode ser usado para ocultar senhas da linha de comando, recuperando-as diretamente do keystore.
Gerenciador de dispositivos
O gerenciador de dispositivos é responsável por acompanhar o estado dos dispositivos em uma instância em execução do Tradefed. Aspectos como status de alocação e status on-line são monitorados.
Testar o programador de comandos
O programador de comandos de teste no Tradefed executa comandos, os associa a dispositivos e inicia uma invocação de teste.
Provedor de build
O provedor de build é a primeira etapa de qualquer invocação de teste. Ele faz o download dos recursos
necessários para configurar e executar os testes, como imagens de build, APKs de teste e muito mais. Ele também
os referencia em um objeto BuildInfo
que será transmitido para o teste. Os recursos
disponíveis localmente também podem ser vinculados ao objeto BuildInfo
.
Preparador e limpador de destino
O preparador de destino oferece ações opcionais que podem ser realizadas para configurar o destino em teste em um determinado estado, por exemplo, atualizar o dispositivo, definir certas propriedades e se conectar ao Wi-Fi.
Test runner
Um executor de testes no Tradefed se refere ao objeto responsável pela execução real do teste. Diferentes executores de teste conduzem a execução de testes de maneiras diferentes. Por exemplo, um executor de teste de instrumentação é muito diferente de um executor de teste JUnit.
Gerador de relatórios de resultados
O indicador de resultado no Tradefed se refere ao objeto que vai enviar os resultados para um destino específico. Cada implementação geralmente é especializada para diferentes back-ends de resultados. E o gerador de relatórios de resultados é responsável por converter o formato de resultados do Tradefed no formato de destino.
Esse design flexível permite que qualquer teste seja informado a qualquer um dos destinos de resultados e que mais testes sejam adicionados de maneira isolada.
- Adicionar um gerador de relatórios de resultados
- Geração de relatórios e registros de resultados
- Resumo do Relatório de resultados
Coletor de métricas
O coletor de métricas é um objeto especial no Tradefed, ortogonal à execução do teste. Ele permite a coleta de informações em diferentes pontos do ciclo de vida do teste (por exemplo, início e término do teste). Como o coletor é desconectado do teste, os pontos podem ser trocados, adicionados e removidos sem precisar mudar o teste.
Configuração em todo o host
Esta seção descreve as configurações aplicáveis à execução de uma instância completa do Tradefed. Essas opções afetam o comportamento do harness como um todo para se adaptar a diferentes ambientes, por exemplo, em uma rede restrita.
Mais recursos
As seções a seguir descrevem o uso geral dos objetos do Tradefed em vez de do Tradefed.
Fragmentação Tradefed
Quando o corpus de teste é grande ou leva muito tempo para ser executado, é possível dividir em vários dispositivos. Chamamos essa divisão de fragmentação. Esta seção descreve como o sharding funciona e como ele é configurado.
Como usar o SL4A
O Tradefed oferece suporte à camada de script para Android, SL4A. Esse é um conjunto de ferramentas de automação para chamar APIs do Android de maneira independente da plataforma.
Download dinâmico de @option
Em alguns casos, os arquivos necessários para um teste ou alguma operação específica não estão disponíveis localmente. Esse recurso permite que o Tradefed receba esses arquivos de um local remoto sem passar por um provedor de build.