Tests de l'interface utilisateur sur le comportement
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les tests d'interface utilisateur de comportement sont des tests qui analysent la hiérarchie de l'interface utilisateur pour émettre des assertions sur les propriétés des éléments de l'interface utilisateur.
Frameworks Jetpack
Jetpack inclut différents frameworks qui fournissent des API pour écrire des tests d'interface utilisateur:
- Le framework de test Espresso (Android 4.0.1, niveau d'API 14 ou version ultérieure) fournit des API pour écrire des tests d'interface utilisateur afin de simuler les interactions des utilisateurs avec les vues dans une seule application cible. L'un des principaux avantages d'Espresso est qu'il fournit une synchronisation automatique des actions de test avec l'UI de l'application que vous testez. Espresso détecte quand le thread principal est inactif. Il peut ainsi exécuter vos commandes de test au moment opportun, ce qui améliore la fiabilité de vos tests.
- Jetpack Compose (Android 5.0, niveau d'API 21 ou version ultérieure) fournit un ensemble d'API de test pour lancer et interagir avec les écrans et composants Compose. Les interactions avec les éléments Compose sont synchronisées avec les tests et permettent de contrôler totalement le temps, les animations et les recompositions.
- UI Automator (Android 4.3, niveau d'API 18 ou version ultérieure) est un framework de test d'interface utilisateur adapté aux tests fonctionnels d'interface utilisateur entre les applications du système et les applications installées. Les API UI Automator vous permettent d'effectuer des opérations telles que l'ouverture du menu "Paramètres" ou du lanceur d'applications sur un appareil de test.
- Robolectric (Android 4.1, niveau d'API 16 ou version ultérieure) vous permet de créer des tests locaux qui s'exécutent sur votre poste de travail ou votre environnement d'intégration continue dans une JVM standard, au lieu d'un émulateur ou d'un appareil. Il peut utiliser les API de test Espresso ou Compose pour interagir avec les composants de l'interface utilisateur.
Ressources supplémentaires
Pour en savoir plus sur la création de tests d'interface utilisateur, consultez les ressources suivantes.
Documentation
Ateliers de programmation
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)"]]