Testy UI zachowania
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Testy interfejsu użytkownika dotyczące zachowania analizują hierarchię interfejsu użytkownika, aby potwierdzić właściwości elementów interfejsu.
Platformy Jetpack
Jetpack zawiera różne platformy udostępniające interfejsy API do pisania testów UI:
- Obsługa testów Espresso (Android 4.0.1, poziom interfejsu API 14 lub nowszy) udostępnia interfejsy API do pisania testów interfejsu użytkownika, które symulują interakcje użytkownika z widokami w jednej aplikacji docelowej. Główną zaletą używania Espresso jest automatyczna synchronizacja działań testu z interfejsem aplikacji, którą testujesz. Espresso wykrywa, kiedy główny wątek jest nieaktywny, dzięki czemu może uruchamiać polecenia testowe we właściwym czasie, co zwiększa niezawodność testów.
- Jetpack Compose (Android 5.0, poziom interfejsu API 21 lub nowszy) udostępnia zestaw interfejsów API do testowania, które umożliwiają uruchamianie ekranów i komponentów Compose oraz na nich interakcję. Interakcje z elementami w Compose są synchronizowane z testami i dają pełną kontrolę nad czasem, animacjami i rekompozycjami.
- UI Automator (Android 4.3, interfejs API na poziomie 18 lub nowszym) to platforma do testowania interfejsu użytkownika, która umożliwia testowanie funkcjonalności interfejsu w różnych aplikacjach, zarówno systemowych, jak i zainstalowanych. Interfejsy API UI Automator umożliwiają wykonywanie takich operacji jak otwieranie menu Ustawienia lub wyszukiwarki aplikacji na urządzeniu testowym.
- Robolectric (Android 4.1, interfejs API na poziomie 16 lub nowszym) umożliwia tworzenie lokalnych testów, które są wykonywane na stacji roboczej lub w środowisku ciągłej integracji w zwykłej maszynie wirtualnej JVM zamiast na emulatorze lub urządzeniu. Może ono używać interfejsów API do testowania Espresso lub Compose, aby wchodzić w interakcje z komponentami UI.
Dodatkowe materiały
Więcej informacji o tworzeniu testów UI znajdziesz w tych materiałach.
Dokumentacja
Ćwiczenia z programowania
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Behavior UI Tests\n\nBehavior UI tests are tests that analyze the UI hierarchy to make assertions\non the properties of the UI elements.\n\nJetpack frameworks\n------------------\n\nJetpack includes various frameworks that provide APIs for writing UI tests:\n\n- The **[Espresso testing framework](/training/testing/espresso)** (Android 4.0.1, API level 14 or higher) provides APIs for writing UI tests to simulate user interactions with *Views* within a single target app. A key benefit of using Espresso is that it provides automatic synchronization of test actions with the UI of the app you are testing. Espresso detects when the main thread is idle, so it is able to run your test commands at the appropriate time, improving the reliability of your tests.\n- **[Jetpack Compose](/jetpack/compose)** (Android 5.0, API level 21 or higher) provides a set of [*testing APIs*](/jetpack/compose/testing) to launch and interact with Compose screens and components. Interactions with Compose elements are synchronized with tests and have complete control over time, animations and recompositions.\n- **[UI Automator](/training/testing/ui-automator)** (Android 4.3, API level 18 or higher) is a UI testing framework suitable for cross-app functional UI testing across system and installed apps. The UI Automator APIs allows you to perform operations such as opening the Settings menu or the app launcher on a test device.\n- **[Robolectric](/training/testing/local-tests/robolectric)** (Android 4.1, API level 16 or higher) lets you create *local* tests that run on your workstation or continuous integration environment in a regular JVM, instead of on an emulator or device. It can use Espresso or Compose testing APIs to interact with UI components.\n\nAdditional resources\n--------------------\n\nFor more information about creating UI tests, consult the following resources.\n\n### Documentation\n\n- [Build instrumented tests](/training/testing/instrumented-tests)\n- [Espresso](/training/testing/espresso)\n- [Compose Testing](/jetpack/compose/testing)\n\n### Codelabs\n\n- [Introduction to Test Doubles and Dependency Injection](/codelabs/advanced-android-kotlin-training-testing-test-doubles)"]]