- Vue d'ensemble (Overview)
- Automatisation de l'interface utilisateur
- Applications et technologies automatisées avec UI Automation
- Compatibilité du projet
- UI-ANA-016 - Extraire l'URL ouverte du navigateur
- UI-ANA-017 - ContinuerSurErreur (ContinueOnError) True
- UI-ANA-018 - Répertorier les activités d'OCR/d'image
- UI-DBP-006 - Utilisation du conteneur
- UI-DBP-013 - Utilisation abusive de l’automatisation Excel
- UI-DBP-030 - Utilisation de variables interdites dans les sélecteurs
- UI-PRR-001 - Simuler un clic
- UI-PRR-002 - Type de simulation
- UI-PRR-003 - Ouverture d'une utilisation abusive de l'application
- UI-PRR-004 - Délais codés en dur
- UI-REL-001 - Idx volumineux dans les sélecteurs
- UI-SEC-004 - Données d’e-mail du sélecteur
- UI-SEC-010 - Restrictions d'applications/d'URL
- UI-USG-011 - Attributs non autorisés
- UX-SEC-010 - Restrictions d'applications/d'URL
- UX-DBP-029 - Utilisation d'un mot de passe non sécurisé
- UI-PST-001 - Niveau du journal d'audit dans les paramètres du projet
- Outil de migration de navigateur UiPath
- Zone de détourage
- Enregistreur de Computer Vision
- Activer (Activate)
- Base d'ancrage (Anchor Base)
- Lier à un navigateur (Attach Browser)
- Lier à une fenêtre (Attach Window)
- Block User Input
- Légende (Callout)
- Vérifier (Check)
- Cliquer (Click)
- Cliquer sur l'image (Click Image)
- Déclencheur de clic image (Click Image Trigger)
- Cliquer sur le texte OCR (Click OCR Text)
- Cliquer sur le texte (Click Text)
- Déclencheur de clic (Click Trigger)
- Fermer l'application (Close Application)
- Fermer l'onglet (Close Tab)
- Fermer la fenêtre (Close Window)
- Context Aware Anchor
- Copier le texte sélectionné (Copy Selected Text)
- Element Attribute Change Trigger
- Élément existant (Element Exists)
- Étendue de l'élément (Element Scope)
- Element State Change Trigger
- Export UI Tree
- Extraire les données structurées (Extract Structured Data)
- Rechercher les enfants (Find Children)
- Rechercher l'élément (Find Element)
- Rechercher l'image (Find Image)
- Rechercher les correspondances de l'image (Find Image Matches)
- Rechercher une position de texte OCR (Find OCR Text Position)
- Rechercher l'élément relatif (Find Relative Element)
- Rechercher la position du texte (Find Text Position)
- Obtenir la fenêtre active (Get Active Window)
- Obtenir l'ancêtre (Get Ancestor)
- Obtenir l'attribut (Get Attribute)
- Obtenir les infos de l'événement (Get Event Info)
- Récupérer du presse-papiers (Get From Clipboard)
- Obtenir le texte complet (Get Full Text)
- Obtenir le texte OCR (Get OCR Text)
- Récupérer le mot de passe (Get Password)
- Obtenir la position (Get Position)
- Obtenir l'élément source (Get Source Element)
- Obtenir le texte (Get Text)
- Obtenir le texte visible (Get Visible Text)
- Revenir en arrière (Go Back)
- Avancer (Go Forward)
- Accéder à l'accueil (Go Home)
- Google Cloud Vision OCR
- Masquer la fenêtre (Hide Window)
- Mettre en surbrillance (Highlight)
- Déclencheur de raccourci (Hotkey Trigger)
- Pointer (Hover)
- Pointer sur l'image (Hover Image)
- Pointer sur le texte OCR (Hover OCR Text)
- Pointer sur le texte (Hover Text)
- Image existante (Image Exists)
- Indiquer sur l'écran (Indicate On Screen)
- Injecter du code .NET
- Inject Js Script
- Invoquer la méthode ActiveX
- Déclencheur de pression de touche (Key Press Trigger)
- Charger l'image (Load Image)
- Agrandir la fenêtre (Maximize Window)
- Microsoft Azure ComputerVision OCR
- Reconnaissance optique des caractères Microsoft (Microsoft OCR)
- Microsoft Project Oxford Online OCR
- Réduire la fenêtre (Minimize Window)
- Surveiller les événements (Monitor Events)
- Déclencheur de souris (Mouse Trigger)
- Déplacer la fenêtre (Move Window)
- Accéder à (Navigate To)
- Texte OCR existant (OCR Text Exists)
- Sur affichage de l'élément (On Element Appear)
- Sur disparition de l'élément (On Element Vanish)
- Sur apparition de l'image (On Image Appear)
- Sur disparition de l'image (On Image Vanish)
- Ouvrir l'application (Open Application)
- Ouvrir le navigateur (Open Browser)
- Actualiser le navigateur (Refresh Browser)
- Relire l'événement utilisateur (Replay User Event)
- Restaurer la fenêtre (Restore Window)
- Enregistrer l'image (Save Image)
- Sélectionner l'élément (Select Item)
- Sélectionner plusieurs éléments (Select Multiple Items)
- Envoyer le raccourci (Send Hotkey)
- Définir la zone de détourage (Set Clipping Region)
- Définir le focus (Set Focus)
- Définir le texte (Set Text)
- Placer dans le presse-papiers (Set To Clipboard)
- Définir l'attribut Web (Set Web Attribute)
- Afficher la fenêtre (Show Window)
- Déclencher le processus (Start Process)
- Déclencheur système (System Trigger)
- Prendre une capture d'écran (Take Screenshot)
- Tesseract OCR
- Texte existant (Text Exists)
- Info-bulle
- Saisir dans (Type Into)
- Saisir un texte sécurisé (Type Secure Text)
- Utiliser le premier plan
- Attendre un attribut (Wait Attribute)
- Attendre que l'élément disparaisse (Wait Element Vanish)
- Attendre que l'image disparaisse (Wait Image Vanish)
- Application event trigger
- Check/Uncheck
- Check App State
- Check Element
- Cliquer (Click)
- Click Event Trigger
- Fermer la fenêtre contextuelle
- Glisser et déposer
- Extract Table Data
- For Each UiElement
- Obtenir l'attribut (Get Attribute)
- Get Browser Data
- Obtenir le texte (Get Text)
- Get URL
- Go To URL
- Mettre en surbrillance (Highlight)
- Pointer (Hover)
- Inject Js Script
- Raccourcis clavier
- Keypress Event Trigger
- Mouse scroll
- Navigate Browser
- Sélectionner l'élément (Select Item)
- Set Browser Data
- Définir le navigateur du runtime (Set Runtime Browser)
- Définir le texte (Set Text)
- Prendre une capture d'écran (Take Screenshot)
- Saisir dans (Type Into)
- Use Application/Browser
- Joindre
- Vérifier (Check)
- Cliquer (Click)
- Glisser et déposer
- Extraire des données
- Obtenir l'attribut (Get Attribute)
- ObtenirEnfants
- ObtenirCibleRuntime
- GetText
- Get URL
- GoToUrl
- Mettre en surbrillance (Highlight)
- Pointer (Hover)
- IsEnabled
- Raccourci clavier
- Mouse scroll
- Ouvrir
- Sélectionner l'élément (Select Item)
- Prendre une capture d'écran (Take Screenshot)
- Saisir dans (Type Into)
- ÉtatAttente
- Effectuez une recherche par navigateur et récupérez les résultats à l'aide des API UI Automation
- Navigation sur le Web
- Rechercher des images
- Cliquer sur des images
- Déclencher et surveiller des événements
- Créer et remplacer des fichiers
- Pages HTML : extraire et manipuler des informations
- Manipulation des fenêtres
- Sélection de liste automatisée
- Rechercher et manipuler des éléments de fenêtre
- Gérer l'automatisation du texte
- Charger et traiter des images
- Gérer les actions activées par la souris
- Automatiser l'exécution des applications
- Exécution automatisée d'une application locale
- Navigation avec le navigateur
- Automatisation Web
- Exemple de fonctionnalités du déclencheur
- Computer Vision Local Server
- Automatisation mobile
- Notes de publication
- Compatibilité du projet
- Get Log Types
- Get Logs
- Get Page Source
- Get Device Orientation
- Get Session Identifier
- Installer l'application
- Gérer l'application actuelle
- Gérer une autre application
- Ouvrir DeepLink
- Ouvrir l'URL
- Mobile Device Connection
- Balayer directionnel
- Dessiner un modèle
- Positional Swipe
- Press Hardware Button
- Set Device Orientation
- Prendre une capture d'écran (Take Screenshot)
- Prendre une partie de capture d'écran
- Élément existant (Element Exists)
- Execute Command
- Obtenir l'attribut (Get Attribute)
- Get Selected Item
- Obtenir le texte (Get Text)
- Set Selected Item
- Définir le texte (Set Text)
- Balayer
- Tap
- Saisir texte
- Creating variables from selector attributes
- Premiers pas avec les API d’automatisation mobile
- Terminal
- Notes de publication
- À propos du package d'activités Terminal
- Compatibilité du projet
- Meilleures pratiques
- Rechercher un texte (Find Text)
- Get Color At Position
- Obtenir la position du curseur (Get Cursor Position)
- Obtenir le champ (Get Field)
- Obtenir le champ en position (Get Field at Position)
- Accéder à la zone d'écran (Get Screen Area)
- Obtenir le texte (Get Text)
- Obtenir le texte en position (Get Text at Position)
- Déplacer le curseur (Move Cursor)
- Move Cursor to Text
- Envoyer la touche Contrôle (Send Control Key)
- Envoyer les touches (Send Keys)
- Envoyer les touches en toute sécurité (Send Keys Secure)
- Définir le champ (Set Field)
- Définir le champ en position (Set Field at Position)
- Session de terminal (Terminal Session)
- Attendre le texte de champ (Wait Field Text)
- Attendre le texte d'écran (Wait Screen Text)
- Attendre le texte en position (Wait Text at Position)
Premiers pas avec les API d’automatisation mobile
Ce guide de démarrage rapide vous aide à créer votre première automatisation codée, à l’aide d’API d’automatisation mobile. Le tutoriel utilise l’application UiPath® Android Basic App et un émulateur Google pixels de Sauce Labs pour les tests automatisés.
Pour utiliser l’appareil mobile et l’application souhaités dans notre automatisation codée, nous devons d’abord les créer dans le gestionnaire d’appareils mobiles :
- Pour créer l’application :
- Dans le gestionnaire d’appareils mobiles, accédez à Applications.
- Sélectionnez Ajouter une application (Add an application).
- Dans la fenêtre Modifier l’application (Edit application), saisissez les informations requises :
- Nom (Name) : pour cet exemple, utilisez
Basic App - Android
. - Type : sélectionnez App pour une application native.
- Plate-forme (Platform) : sélectionnez Android pour automatiser l’application Android.
- Application : pour cet exemple, saisissez le lien suivant vers l’application Basic Android App :
https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk
. - Package d’application (App Package) : saisissez le package d’application mobile, par exemple
com.example.basicapp
. - Activité de l’application (App activity) : saisissez l’instance de l’activité, par exemple :
.core.MainActivity
. - Pour Capacités supplémentaires souhaitées (Additional Desired Capabilities), ajoutez la capacité
appium:app
pour vous assurer que l’application fonctionne comme prévu.
Tableau 1. Capacités supplémentaires souhaitées Nom Valeur (Value) appium:app
appium:app https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk
- Nom (Name) : pour cet exemple, utilisez
- Pour créer l’appareil :
- Accédez à Appareils (Devices) et sélectionnez Ajouter un appareil (Add a device).
- Nommez l’appareil. Pour cet exemple, utilisez
Google Pixel 3a GoogleAPI Emulator
. - Définissez les paramètres suivants : URL Appium (Appium URL), Plate-forme (Platform), Nom de l’appareil (Device Name), Version de la plate-forme (Platform Version).
- Récupérez les paramètres de votre fournisseur de parc d’appareils mobiles choisi. Dans cet exemple, nous utilisons Sauce Labs.
- Pour obtenir l’URL Appium (Appium Url), accédez à Compte (Account), puis Paramètres utilisateur (User Settings). Copiez l’URL à la demande (On-demand URL) sous Création de pilote (Driver Creation).
- Pour obtenir la plate-forme (Platform), le nom de l’appareil (Device Name) et la version de la plate-forme (Platform Version), accédez à Automatisé (Automated), puis Configurateur de plate-forme (Platform Configurator). Sélectionnez les capacités pour
Google Pixel 3a GoogleAPI Emulator
etAndroid Emulator version 10.0
. Sous Script de configuration (Config Script), choisissez votreAppium version
. Pour cet exemple, utilisez 2.0.0. - Copiez et collez les valeurs de Sauce Labs dans le gestionnaire d’appareils mobiles.
-
- Cliquez sur Enregistrer et fermer (Save and Close).
- Sélectionnez Démarrer une application sur cet appareil (Start an application on this device) et connectez l’appareil à l’application créée précédemment.
Pour automatiser votre application mobile préférée, enregistrez ses éléments mobiles dans le référentiel d’objets du projet. Pour cet exemple, nous avons créé une Basic App avec un écran d’accueil général, contenant trois éléments d’IU que nous utilisons à des fins d’automatisation. Consultez la liste suivante pour voir comment s’affiche la structure du référentiel d’objets :
- BasicApp
- HomeScreen
- EditText
- SingleClickButton
- VerifyText
- HomeScreen
Après avoir configuré votre appareil et votre application dans le gestionnaire d’appareils mobiles, commencez à écrire le code pour votre automatisation. Avant de commencer à utiliser les API d’automatisation mobile, vous devez établir une connexion entre l’appareil mobile que vous avez choisi et l’application à l’aide des API correspondantes.
connection
est une classe qui représente la connexion que vous créez entre un appareil et une application, qui affiche les API que vous pouvez utiliser pour automatiser les scénarios de test sur mobile. Consultez Connexion pour plus d’informations sur la création d’un objet connection
.
Pour créer une connexion, vous disposez d’un ensemble d’API dédiées que vous pouvez utiliser. Dans cet exemple, nous avons utilisé l’API Connecter (Connect), avec la deuxième surcharge, qui requiert les noms d’appareil et d’application sous forme de chaînes.
Créez la connexion en procédant comme suit :
- Commencez par une instruction
using
pour éviter de créer une variable distincte. - Dans l’instruction
using
, appelez l’API Connecter (Connect), avec la deuxième version de surcharge.Pour cette surcharge, saisissez le nom du périphérique et le nom de l’application, pour établir la connexion.
[TestCase] public void Execute() { using (Connection connection = mobile.Connect( "Google Pixel 3a GoogleAPI Emulator", "Basic App - Android"))
[TestCase] public void Execute() { using (Connection connection = mobile.Connect( "Google Pixel 3a GoogleAPI Emulator", "Basic App - Android")) - Vous pouvez ajouter un message
Log
à des fins de débogage.Log("Connection established");
Log("Connection established");
Le flux d’automatisation dans cet exemple comprend le fait d’appuyer sur certains boutons, l’obtention d’un texte qui s’affiche sur l’écran mobile et le fait de balayer un contrôle de curseur. Ces actions simulent des scénarios d’automatisation mobile réels.
IElementDescriptors
. Il s’agit d’éléments d’IU accessibles directement depuis le référentiel d’objets. En plus de IElementDescriptors
, vous pouvez utiliser d’autres types de sélecteurs avec les API d’automatisation mobile, tels que ObjectRepositoryTarget
et SelectorTarget
. Consultez la page Sélecteurs d’API pour savoir comment et quand utiliser d’autres types de sélecteurs.
- Appelez l’API Appuyer (Tap) pour cliquer sur SingleClickButton
dans l’application Android Basic App.
// Tap the SingleClickButton connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton); Log("Tapped SingleClickButton ");
// Tap the SingleClickButton connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton); Log("Tapped SingleClickButton "); - Utilisez l’API DéfinirTexte (SetText) pour saisir un texte spécifique dans le champ EditText.
string expectText = "Random text"; connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText); Log("Inserted random text");
string expectText = "Random text"; connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText); Log("Inserted random text"); - Récupérez le texte que vous avez défini précédemment et vérifiez s’il correspond au texte de l’élément d’IU
VérifierTexte (VerifyText). Utilisez les API ObtenirTexte (GetText) et VérifierExpression (VerifyExpression).
var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText); testing.VerifyExpression(expectText == actualText, "EditText validation failed."); SelectorTarget selector = null;
var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText); testing.VerifyExpression(expectText == actualText, "EditText validation failed."); SelectorTarget selector = null; - Utilisez l’API BalayagePositionnel (PositionalSwipe) pour déplacer le contrôle du curseur.
L’API BalayagePositionnel (PositionalSwipe) nécessite deux variables
Point
, représentant les points de départ et de fin de l’action de balayage. Créez ces points avant d’utiliser l’API pour une meilleure lisibilité.// Perform a positional swipe operation to use the slider var startPoint = new Point(226, 304); var endPoint = new Point(296, 304); connection.PositionalSwipe(startPoint, endPoint); Log("Performed Swipe action.");
// Perform a positional swipe operation to use the slider var startPoint = new Point(226, 304); var endPoint = new Point(296, 304); connection.PositionalSwipe(startPoint, endPoint); Log("Performed Swipe action.");Pour obtenir la position d’écran, accédez à la connexion active dans le gestionnaire d’appareils mobiles. Placez votre curseur sur l’écran mobile. Cela affichera l’emplacement du curseur en pixels dans le coin inférieur gauche du gestionnaire d’appareils mobiles.
Pour suivre les étapes de ce guide de démarrage rapide, ou pour essayer par vous-même, téléchargez l’exemple de démarrage rapide des API d’automatisation mobile.