Semantica

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

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

Diagramma che mostra un layout UI tipico e il modo in cui questo layout viene mappato a un albero semantico corrispondente

Figura 1. Una tipica gerarchia della UI e il relativo albero semantico.

Il framework di semantica 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, composto 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 della semantica. Puoi aggiungere proprietà all'albero semantico utilizzando un Modifier.

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

Risorse aggiuntive

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