Semantyka

Testy UI w Compose używają semantyzacji do interakcji z hierarchią UI. Semantyka, jak wskazuje nazwa, nadaje znaczenie elementowi 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 semantyce znajdziesz w artykule Semantyka w tworzeniu wiadomości.

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 z ikoną i tekstem.

Na przykład w przypadku takiego przycisku, który 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ą elementu Modifier.

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

Dodatkowe materiały

  • Testowanie aplikacji na Androida: główna strona z testami na Androida zawiera więcej informacji o podstawach i technikach testowania.
  • Podstawy testowania: więcej informacji 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, 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: za pomocą dostępnych dla użytkowników jest bardzo wiele urządzeń, należy przetestować różne urządzenia rozmiarów reklam Google Ads.
  • Espresso: chociaż jest ono przeznaczone do interfejsów użytkownika opartych na widokach, znajomość Espresso może być przydatna w niektórych aspektach testowania w Compose.