Semantica

I test dell'interfaccia utente in Compose utilizzano la semantica per interagire con la gerarchia dell'interfaccia utente. La semantica, come suggerisce il nome, dà significato a una parte dell'interfaccia utente. In questo contesto, un "pezzo di UI" (o elemento) può significare qualsiasi cosa, da un singolo elemento componibile a una schermata intera. L'albero semantico viene generato insieme alla gerarchia della UI e descrive la gerarchia.

Puoi scoprire di più sulla semantica in generale in Semantica in Compose.

Diagramma che mostra un layout tipico dell'interfaccia utente e il modo in cui questo layout viene mappato a un albero semantico corrispondente

Figura 1. Una gerarchia tipica dell'interfaccia utente e il relativo albero semantico.

Il framework semantico viene utilizzato principalmente per l'accessibilità, quindi i test sfruttano le informazioni esposte dalla semantica sulla gerarchia della UI. Gli sviluppatori decidono cosa e quanto esporre.

Un pulsante contenente un'immagine e del testo

Figura 2. Un pulsante tipico contenente un'icona e del testo.

Ad esempio, dato un pulsante come questo costituito da un'icona e da un elemento di testo, l'albero semantico predefinito contiene solo l'etichetta di testo "Mi piace". Questo perché alcuni componibili, come Text, espongono già alcune proprietà all'albero semantico. Puoi aggiungere proprietà all'albero semantico utilizzando un Modifier.

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

Risorse aggiuntive

  • Testare le app su Android: la pagina di destinazione principale dei test Android offre una visione più ampia dei fondamenti e delle tecniche di test.
  • Nozioni di base sui test: scopri di più sui concetti fondamentali alla base del test di un'app per Android.
  • Test locali: puoi eseguire alcuni test localmente, sulla tua workstation.
  • Test strumentati: è buona norma eseguire anche test strumentati. ovvero test eseguiti direttamente sul dispositivo.
  • Integrazione continua: L'integrazione continua consente di integrare i test nella pipeline di deployment.
  • Testa diverse dimensioni dello schermo: con tanti dispositivi a disposizione degli utenti, devi eseguire test per diverse dimensioni dello schermo.
  • Espresso: sebbene sia destinato alle UI basate sulla visualizzazione, la conoscenza di Espresso può comunque essere utile per alcuni aspetti dei test di Compose.