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.
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.
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.