Testy UI w Compose używają semantyzacji do interakcji z hierarchią UI. Jak sama nazwa wskazuje, semantyka nadaje znaczenie elementom interfejsu. W tym kontekście „element interfejsu użytkownika” może oznaczać wszystko, od pojedynczego komponenta do pełnego ekranu. Drzewo semantyczne jest generowane wraz z hierarchią interfejsu użytkownika i opisuje tę hierarchię.
Więcej informacji o semantycznym podejściu znajdziesz w artykule Semantyka w Compose.
Rysunek 1. Typowa hierarchia UI i jej drzewo semantyczne.
Ramka semantyczna służy głównie do obsługi dostępności, więc testy korzystają z informacji o hierarchii interfejsu użytkownika, które są udostępniane przez semantykę. To deweloperzy decydują, co i w jakim zakresie udostępnić.
Rysunek 2. Typowy przycisk zawierający ikonę i tekst.
Na przykład, jeśli przycisk składa się z ikony i elementu tekstowego, domyślne drzewo semantyczne zawiera tylko etykietę tekstową „Lubię”. Dzieje się tak, ponieważ niektóre elementy kompozytowe, takie jak Text
, udostępniają już niektóre właściwości drzewu semantycznemu. Do drzewa semantycznego możesz dodawać właściwości za pomocą funkcji Modifier
.
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Dodatkowe materiały
- Testowanie aplikacji na Androida: główna strona z informacjami o testowaniu aplikacji na Androida zawiera więcej informacji o podstawach i technikach testowania.
- Podstawy testowania: dowiedz się więcej o podstawowych koncepcjach testowania aplikacji na Androida.
- Testy lokalne: niektóre testy możesz przeprowadzać lokalnie na swoim komputerze.
- Testy z użyciem instrumentacji: warto też przeprowadzać testy z użyciem instrumentacji. Chodzi o testy, które są wykonywane bezpośrednio na urządzeniu.
- Tryb ciągłej integracji: tryb ciągłej integracji umożliwia zintegrowanie testów z potokiem wdrożeniowym.
- Testowanie różnych rozmiarów ekranu: ze względu na dużą liczbę urządzeń dostępnych dla użytkowników, należy przetestować różne rozmiary ekranu.
- Espresso: chociaż jest ono przeznaczone do interfejsów użytkownika opartych na widokach, wiedza o Espresso może być przydatna w niektórych aspektach testowania Compose.