Test Uiautomator

  
Framework pour les tests fonctionnels de l'interface utilisateur entre applications.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
11 janvier 2023 - - - 2.3.0-alpha02

Déclarer des dépendances

Pour ajouter une dépendance sur Test, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation "androidx.test.uiautomator:uiautomator:2.3.0-alpha02"
}

Kotlin

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0-alpha02")
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 2.3.0

Version 2.3.0-alpha02

11 janvier 2023

Publication de androidx.test.uiautomator:uiautomator:2.3.0-alpha02. Liste des commits de la version 2.3.0-alpha02.

Modifications apportées à l'API

  • Journalisation retravaillée dans la bibliothèque pour fournir plus d'informations, signaler les problèmes potentiels et améliorer la cohérence.
  • Ajout de UiDevice#pressKeyCodes pour permettre d'appuyer simultanément sur plusieurs touches, par exemple POWER et VOLUME_DOWN pour faire une capture d'écran (22e525).
  • Ajout de UiDevice#setCompressedLayoutHierarchy et abandon d'UiDevice#setCompressedLayoutHeirarchy pour corriger une faute de frappe dans le nom de la méthode (4e2f65).
  • Marquage de UiAutomatorInstrumentationTestRunner comme obsolète, car cette méthode gère les UiAutomatorTestCase obsolètes et n'est plus nécessaire (be6c85).
  • Mise à jour du délai entre UiObject2 MotionEvent à deux fois la fréquence d'actualisation de l'écran afin de mieux émuler les gestes de l'utilisateur (454450).
  • Ajout de la compatibilité pour le texte couvrant plusieurs lignes et la correspondance de description (1625e6, b/255787130).

Corrections de bugs

  • Correction des erreurs StaleObjectException générées occasionnellement lors de l'interrogation ou de l'attente d'objets (4cbcc0).
  • Correction des valeurs renvoyées par UiScrollable#scrollToBeginning, scrollToEnd, flingToBeginning et flingToEnd n'indiquant pas si la fin ou le début était atteint (d33e06).
  • Correction des méthodes UiScrollable#scrollForward et scrollBackward qui ignoraient le délai d'inactivité configuré (29e4f3).
  • Correction du constructeur de copie BySelector qui ne gérait pas les sélecteurs de profondeur (6c7b91).
  • Correction du traitement des valeurs de pourcentage non valides dans UiObject#pinchIn et pinchOut (01b973).
  • Correction d'un problème rare qui empêchait la prise en charge du mode multifenêtre si la connexion UiAutomation sous-jacente était réinitialisée (1bb956).

Version 2.3.0-alpha01

7 septembre 2022

Publication de androidx.test.uiautomator:uiautomator:2.3.0-alpha01. Liste des commits de la version 2.3.0-alpha01.

Modifications apportées à l'API

  • Annotation de la valeur nulle de toutes les méthodes publiques.
  • Passage à une injection asynchrone de MotionEvent avec un court délai pour des gestes UiObject2 plus fluides.
  • Intervalle d'interrogation réduit en attendant de passer de 1 000 à 100 ms.
  • Mise à jour de UiDevice#wakeUp et UiDevice#sleep pour utiliser KEYCODE_WAKEUP et KEYCODE_SLEEP afin de prendre en charge les appareils qui ignorent le bouton Marche/Arrêt.
  • Ajout de UiObject2#getDisplayId et d'une prise en charge de la recherche et de la gestion des objets sur plusieurs écrans.
  • Ajout des méthodes UiObject#click et UiObject2#clickAndWait pour cliquer sur un point à l'aide de ses coordonnées

Correction de bugs

  • Correction d'un problème entraînant parfois des erreurs dans le calcul de la taille de l'affichage et pouvant ignorer certaines parties de l'écran, notamment en mode multifenêtre. (Ifc016c)
  • Correction de la mise à l'échelle des captures d'écran dans UiDevice#takeScreenshot. (Id80ad6)
  • Amélioration de la fiabilité de Until.scrollFinished et UiObject2#scroll. (I7b0595)
  • Correction des avertissements de IncorrectContextUseViolation en mode strict. (Iffa6a0)