I test dell'interfaccia utente in Compose utilizzano la semantica per interagire con la gerarchia dell'interfaccia utente. La semantica, come suggerisce il nome, attribuisce un significato a un elemento dell'interfaccia utente. In questo contesto, un "elemento dell'interfaccia utente" può essere qualsiasi cosa, da un singolo composable a un intero schermo. 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.
Figura 1. Una gerarchia dell'interfaccia utente tipica e la relativa struttura di semantica.
Il framework di semantica viene utilizzato principalmente per l'accessibilità, pertanto 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 da un elemento di testo, l'albero della semantica predefinita contiene solo l'etichetta di testo "Mi piace". Questo accade perché alcuni 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 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 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 destinato alle UI basate su visualizzazioni, le conoscenze di Espresso possono essere utili per alcuni aspetti dei test di Compose.