Verhaltens-UI-Tests
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Bei Verhaltenstests für die Benutzeroberfläche wird die UI-Hierarchie analysiert, um Aussagen über die Eigenschaften der UI-Elemente zu treffen.
Jetpack-Frameworks
Jetpack enthält verschiedene Frameworks, die APIs zum Schreiben von UI-Tests bereitstellen:
- Das Espresso-Testframework (Android 4.0.1, API-Level 14 oder höher) bietet APIs zum Schreiben von UI-Tests, um Nutzerinteraktionen mit Views in einer einzelnen Ziel-App zu simulieren. Ein wichtiger Vorteil von Espresso ist die automatische Synchronisierung von Testaktionen mit der Benutzeroberfläche der getesteten App. Espresso erkennt, wenn der Haupt-Thread inaktiv ist, sodass Ihre Testbefehle zur richtigen Zeit ausgeführt werden können. Dadurch wird die Zuverlässigkeit Ihrer Tests verbessert.
- Jetpack Compose (Android 5.0, API-Level 21 oder höher) bietet eine Reihe von Test-APIs, mit denen Compose-Bildschirme und ‑Komponenten gestartet und damit interagiert werden können. Interaktionen mit „Compose“-Elementen werden mit Tests synchronisiert und haben vollständige Kontrolle über Zeit, Animationen und Neuzusammensetzungen.
- UI Automator (Android 4.3, API-Level 18 oder höher) ist ein UI-Test-Framework, das sich für funktionale UI-Tests für mehrere Apps in System- und installierten Apps eignet. Mit den UI Automator APIs können Sie auf einem Testgerät beispielsweise das Menü „Einstellungen“ oder den App Launcher öffnen.
- Mit Robolectric (Android 4.1, API-Level 16 oder höher) können Sie lokale Tests erstellen, die auf Ihrer Workstation oder Continuous Integration-Umgebung in einer regulären JVM statt in einem Emulator oder Gerät ausgeführt werden. Es kann Espresso- oder Compose-Test-APIs verwenden, um mit UI-Komponenten zu interagieren.
Weitere Informationen
Weitere Informationen zum Erstellen von UI-Tests finden Sie in den folgenden Ressourcen.
Dokumentation
Codelabs
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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)"]]