Semantyka

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.

Diagram pokazujący typowy układ interfejsu użytkownika i sposób mapowania tego układu na odpowiadające drzewo semantyczne

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

Przycisk zawierający grafikę i tekst

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.