Testy interfejsu w Compose używają semantyki do interakcji z hierarchią interfejsu. Semantyka, jak sama nazwa wskazuje, nadaje znaczenie elementowi interfejsu. W tym kontekście „element interfejsu” może oznaczać wszystko, od pojedynczego elementu kompozycyjnego po pełny ekran. Drzewo semantyki jest generowane razem z hierarchią interfejsu i opisuje tę hierarchię.
Więcej informacji o semantyce znajdziesz w artykule Semantyka w Compose.
Rysunek 1. Typowa hierarchia UI i jej drzewo semantyczne.
Platforma semantyczna jest używana głównie na potrzeby ułatwień dostępu, więc testy wykorzystują informacje o hierarchii interfejsu udostępniane przez semantykę. Deweloperzy decydują, co i w jakim stopniu chcą udostępniać.
Rysunek 2. Typowy przycisk zawierający ikonę i tekst.
Na przykład w przypadku przycisku, który składa się z ikony i elementu tekstowego, domyślne drzewo semantyczne zawiera tylko etykietę tekstową „Lubię to”. Dzieje się tak, ponieważ niektóre elementy kompozycyjne, takie jak Text, już udostępniają pewne właściwości drzewu semantycznemu. Możesz dodawać właściwości do drzewa semantycznego za pomocą Modifier.
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Dodatkowe materiały
- Testowanie aplikacji na Androida: główna strona docelowa testowania na Androidzie zawiera szerszy przegląd podstaw i technik testowania.
- Podstawy testowania: dowiedz się więcej o podstawowych pojęciach związanych z testowaniem aplikacji na Androida.
- Testy lokalne: niektóre testy możesz przeprowadzić lokalnie, na własnej stacji roboczej.
- Testy z instrumentacją: warto też przeprowadzać testy z instrumentacją. czyli testy, które są uruchamiane bezpośrednio na urządzeniu.
- Tryb ciągłej integracji: tryb ciągłej integracji umożliwia integrację testów z potokiem wdrażania.
- Testowanie różnych rozmiarów ekranu: użytkownicy mają do dyspozycji wiele urządzeń, dlatego warto przetestować różne rozmiary ekranu.
- Espresso: chociaż Espresso jest przeznaczone do interfejsów opartych na widokach, wiedza o nim może być przydatna w niektórych aspektach testowania Compose.