Semântica

Os testes de IU no Compose usam semântica para interagir com a hierarquia da IU. A semântica, como o nome indica, dá um significado para uma parte da IU. Nesse contexto, uma "parte da interface" (ou elemento) pode significar qualquer coisa, desde um único elemento combinável até uma tela cheia. A árvore semântica é gerada junto com a hierarquia da IU e a descreve.

Saiba mais sobre a semântica em geral em Semântica no Compose.

Diagrama mostrando um layout típico de IU e a maneira como esse layout seria mapeado para uma árvore semântica correspondente

Figura 1. Uma hierarquia de IU típica e a árvore de semântica dela.

O framework de semântica é usado principalmente para acessibilidade. Portanto, os testes aproveitam as informações expostas pela semântica sobre a hierarquia da IU. Os desenvolvedores decidem o que e quanto precisa ser exposto.

Um botão com elemento gráfico e texto

Figura 2. Um botão típico com um ícone e um texto.

Por exemplo, considerando um botão como este, que consiste em um ícone e um elemento de texto, a árvore semântica padrão contém apenas o rótulo de texto "Like". Isso ocorre porque alguns elementos que podem ser compostos, como Text, já expõem algumas propriedades à árvore semântica. É possível adicionar propriedades à árvore semântica usando um Modifier.

MyButton(
    modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)

Outros recursos

  • Testar apps no Android: a página inicial principal de testes do Android oferece uma visão mais ampla dos conceitos básicos e das técnicas de teste.
  • Conceitos básicos de testes:saiba mais sobre os principais conceitos por trás dos testes de um app Android.
  • Testes locais:é possível executar alguns testes localmente na sua estação de trabalho.
  • Testes instrumentados:é uma boa prática executar testes instrumentados. Ou seja, testes executados diretamente no dispositivo.
  • Integração contínua:a integração contínua permite integrar seus testes ao pipeline de implantação.
  • Teste diferentes tamanhos de tela:com alguns dispositivos disponíveis para os usuários, teste diferentes tamanhos de tela.
  • Espresso: embora seja destinado a interfaces baseadas em visualizações, o conhecimento do Espresso ainda pode ser útil para alguns aspectos dos testes do Compose.