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 "elemento dell'interfaccia utente" (o elemento) può avere qualsiasi significato, da un singolo elemento componibile a uno schermo intero. L'albero della semantica viene generata insieme alla gerarchia dell'interfaccia utente e descrive la gerarchia.
Puoi scoprire di più sulla semantica in generale in Semantica in Compose.
Figura 1. Una tipica gerarchia dell'interfaccia utente e il suo albero semantico.
Il framework semantico è 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.
Figura 2. Un tipico pulsante contenente un'icona e del testo.
Ad esempio, se un pulsante come questo è costituito da un'icona e da un elemento di testo, la struttura di 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
- Testare le app su Android: la pagina di destinazione principale per i test di Android offre una visione più ampia delle nozioni di base e delle tecniche di test.
- Concetti fondamentali del 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. Vale a dire che i test vengono eseguiti direttamente sul dispositivo.
- Integrazione continua: l'integrazione continua ti consente di integrare i test nella pipeline di deployment.
- Prova schermi di dimensioni diverse: con alcuni dispositivi a disposizione degli utenti, ti conviene eseguire test per schermi di dimensioni diverse.
- Espresso: sebbene sia destinata alle UI basate su View, le conoscenze di Espresso possono comunque essere utili per alcuni aspetti del test di Compose.