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 komponentu 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 przedstawiający typowy układ interfejsu i sposób mapowania go na odpowiednie 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 jakiej ilości 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. Właściwości możesz dodawać do drzewa semantycznego za pomocą atrybutu Modifier.

MyButton(
    modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)

Dodatkowe materiały

  • Testowanie aplikacji na Androida: główna strona z informacjami o testowaniu 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 instrumentacją: warto też przeprowadzać testy z instrumentacją. Chodzi o testy przeprowadzane 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 przeprowadzić testy na różnych rozmiarach 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.