Semantica

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

Per scoprire di più sulla semantica in generale, consulta Semantica in Compose.

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

Figura 1. Una gerarchia dell'interfaccia utente tipica e la relativa struttura di semantica.

Il framework semantico è usato principalmente per l'accessibilità, quindi i test sfruttare le informazioni mostrate dalla semantica sulla gerarchia dell'interfaccia utente. 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 della semantica predefinita contiene solo l'etichetta di testo "Mi piace". Questo è poiché alcuni componibili, come Text, espongono già alcune proprietà della semantica. Puoi aggiungere proprietà all'albero della semantica utilizzando un Modifier.

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

Risorse aggiuntive

  • Testare le app su Android: la pagina di destinazione principale per i test su Android offre una visione più ampia delle nozioni di base 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 con strumenti: è buona prassi eseguire anche test con strumenti. ovvero i test eseguiti direttamente sul dispositivo.
  • Integrazione continua: L'integrazione continua ti consente di integrare i test nel tuo deployment una pipeline o un blocco note personalizzato.
  • Prova schermi di dimensioni diverse: con tra i tanti dispositivi disponibili per gli utenti, è consigliabile testare dimensioni.
  • Espresso: sebbene sia destinato alle UI basate su visualizzazioni, le conoscenze di Espresso possono essere utili per alcuni aspetti dei test di Compose.