Semantica

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

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

Diagramma che mostra un tipico layout dell'interfaccia utente e la modalità di mappatura di un layout semantico a un albero semantico corrispondente

Figura 1. Una tipica gerarchia dell'interfaccia utente e del suo albero della semantica.

Il framework semantico viene utilizzato principalmente per l'accessibilità, quindi i test sfruttano le informazioni esposte dalla semantica sulla gerarchia dell'interfaccia utente. Sono gli sviluppatori a decidere cosa e quanto esporre.

Un pulsante contenente grafica e testo

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

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

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

Risorse aggiuntive

  • App di test su Android: la pagina di destinazione principale per i test di Android offre una visione più ampia sulle tecniche e sui concetti fondamentali dei 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 in locale, sulla tua workstation.
  • Test strumentati: è buona norma eseguire anche test con strumentazione. ovvero test eseguiti direttamente sul dispositivo.
  • Integrazione continua: l'integrazione continua consente di integrare i test nella pipeline di deployment.
  • Prova dimensioni dello schermo diverse: dato che sono disponibili molti dispositivi per gli utenti, dovresti testare schermi di dimensioni diverse.
  • Espresso: sebbene destinato alle UI basate su View, la conoscenza di Espresso può comunque essere utile per alcuni aspetti dei test di Compose.