- Vue d'ensemble (Overview)
- Automatisation de l'interface utilisateur
- À propos du package d'activités UIAutomation
- 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-DBP-031 : Vérification de l’activité
- 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
- À propos des éléments d'interface utilisateur
- Propriétés des activités de l'interface utilisateur
- Exemple d'utilisation des méthodes de saisie
- Méthodes de sortie ou de capture de données d'écran
- Exemple d'utilisation de méthodes de sortie ou de capture de données d'écran
- Génération de tables à partir de données non structurées
- Capture relative de données
- À propos de l'automatisation des images et des textes
- Activités liées à la souris et au clavier
- Exemple d'utilisation de l'automatisation de la souris et du clavier
- Les activités de type texte
- Exemple d'utilisation d'automatisation de texte
- Activités de type OCR
- Activités de type image
- Exemple d'utilisation de l'automatisation d'image et d'OCR
- Index des activités
- 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)
- Vérification de l’accessibilité
- Application event trigger
- Block User Input
- Check/Uncheck
- Check App State
- Check Element
- Cliquer (Click)
- Click Event Trigger
- Glisser et déposer
- Étendue de l'élément (Element Scope)
- Extract Table Data
- Find Elements
- For Each UiElement
- Get Browser Data
- Get Clipboard (Obtenir le Presse-papiers)
- 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
- Enregistrer l'image (Save Image)
- Sélectionner l'élément (Select Item)
- Set Browser Data
- Set Clipboard (Définir le Presse-papiers)
- Définir CV Server
- Définir le navigateur du runtime (Set Runtime Browser)
- Définir le focus (Set Focus)
- Définir les paramètres du projet
- Définir le texte (Set Text)
- Prendre une capture d'écran (Take Screenshot)
- Saisir dans (Type Into)
- Unblock User Input
- Window operation
- 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
- Activer la prise en charge d’UI Automation dans DevExpress
- Computer Vision Local Server
- Automatisation mobile
- Notes de publication
- À propos de l'architecture d'automatisation des appareils mobiles
- 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
- Premiers pas avec les API d’automatisation mobile
- Gestion des boîtes de dialogue contextuelles dans les automatisations mobiles
- Creating variables from selector attributes
- Créer des workflows d'automatisation mobile
- Utiliser l’automatisation mobile pour les applications de banque mobile
- Automatisation pour les applications React Native
- 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)
- Wait Screen Ready
- Attendre le texte d'écran (Wait Screen Text)
- Attendre le texte en position (Wait Text at Position)
- API d'automatisation codée par terminal
Configuration des appareils iOS locaux
Pour configurer un appareil local pour qu’il fonctionne avec les activités d’automatisation mobile, vous devez exécuter une instance locale de Appium et disposer des outils nécessaires pour automatiser les appareils iOS.
Vous pouvez automatiser deux types d’appareils iOS locaux :
- Physical - a physical iOS device that you can connect to your local machine, through a USB cable.
- Emulator - an emulator for an iOS device that's stored locally.
Commandes Appium les plus utilisées
La liste ci-dessous décrit les commandes les plus utilisées pour configurer Appium dans le contexte de l'automatisation pour les appareils mobiles.
xcrun simctl list: répertorie les appareils, les types d'appareils, les runtimes ou les paires d'appareils disponibles.xcrun simctl list devices: répertorie les appareils disponibles.xcrun simctl list devicetypes: répertorie les types d'appareils.xcrun simctl list runtimes: répertorie les runtimes.xcrun simctl list runtimes- répertorie les paires d'appareils.
Stockage d'applications
Vous devrez stocker vos applications mobiles sur la même machine sur laquelle votre serveur Appium est en cours d'exécution, ou télécharger le fichier IPA vers une URL accessible de manière anonyme par le serveur Appium (par exemple, stockage d'objets blob).
L'installation d'applications à partir du Play Store ou de l'App Store n'est pas possible, sauf si vous automatisez manuellement ces applications pour installer votre application spécifique.
Si votre artefact d'application utilise l'extension APP et que vous souhaitez télécharger l'application vers une URL publique, vous devrez créer un dossier nommé Payload, y placer l'APP, archiver le dossier Payload et changer l'extension en IPA au lieu de ZIP. De plus, assurez-vous que l'application que vous essayez d'automatiser est compilée pour l'architecture cible (simulateur ou appareil physique).
Configurer un appareil physique iOS
Prérequis
-
Installez Xcode.
-
Ouvrez un terminal et exécutez la commande suivante pour installer Homebrew :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"-
Exécutez la commande suivante pour ajouter Homebrew à votre variable d'environnement
PATH:echo >> /Users/<username>/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<username>/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"echo >> /Users/<username>/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<username>/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
-
-
Exécutez la commande suivante pour installer NodeJS :
brew install node 4. Installez Appium :
- For Appium 1.0, run the following command:
npm install -g appium. This automatically installed all drivers needed. - For Appium 2.0, run the following command:
npm install -g appium@next.
Appium 2.0 comes without the drivers installed. Therefore, to install the needed drivers, also run the following command: appium driver install xcuitest.
- We recommend using Appium 2.0 with Mobile Automation version 22.10 or higher.
- Installez Appium 2.0 si vous souhaitez tester vos automatisations mobiles sur un appareil physique iOS. 1. Ouvrez Xcode et autorisez-le à installer tous les composants supplémentaires dont il a besoin. Fermez-le une fois que vous voyez l'écran de présentation. 2. Démarrez le serveur Appium à l'aide de la commande suivante:
appium --port 8001 --default-capabilities "{\"appium:systemPort\":9001}" --relaxed-security.
Configurer un appareil physique iOS
-
Connectez votre appareil physique à votre Mac.
-
Déverrouillez votre appareil et, si une alerte apparaît, assurez-vous d'autoriser l'ordinateur à y accéder.
-
Obtenez l’URL Appium et enregistrez-la pour plus tard :
- Go to System Settings, then the Network tab, and select the Wi-Fi network that the physical device is connected to.
- Copiez l’ adresse IP du réseau Wi-Fi auquel l’appareil est connecté. Le format de l’URL Appium est
http://<ipaddress>:8001(8001est le numéro du port à partir duquel vous allez démarrer Appium).
-
Obtenez l'UDID de l'appareil iOS physique que vous avez connecté à votre machine, à partir de XCode.
- Go to Window > Devices and Simulators > Devices.
- Cliquez sur l'appareil iOS auquel vous vous êtes connecté.
- Copy the Identifier. This is the UDID, that you'll later add as an additional desired capability, when adding this iOS physical device to MDM.
-
Créez WebDriverAgent via XCode sur votre Mac.
- Accédez au dossier
appium-webdriveragenten utilisant le chemin suivant :/Users/<username>/appium2/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragentet ouvrez le fichierxcodeproj. - Select WebDriverAgent, and open WebDriverAgentRunner, under the Targets section.
- Switch to the Signing & Capabilities tab, select Automatically manage signing, and choose a user account from the Team dropdown.
- Change the Bundle Identifier to a unique value.
- Copiez et enregistrez cet identificateur de bundle. Vous l'utiliserez pour ajouter votre application dans le gestionnaire d'appareils mobiles.
- Accédez au dossier
-
Install the WebDriverAgent on your iOS physical device.
- Select WebDriverAgentRunner in the WebDriverAgent navigation bar.
- In XCode, go to Product, and click Test. On your connected iOS physical device, you'll see the WebDriverAgent installing.
-
Ajoutez l'appareil émulé local configuré dans le Gestionnaire d'appareils mobiles, à l'aide de la procédure Ajout d'un appareil iOS local dans le Gestionnaire d'appareils mobiles.
Ajouter un appareil iOS local dans le gestionnaire d'appareils mobiles
-
Ouvrez le gestionnaire d'appareils mobiles depuis Studio.
-
Dans le panneau de navigation de gauche, accédez à Appareils (Devices).
-
Configurez votre appareil comme suit :
-
Nom (Name) : saisissez un nom pour identifier votre appareil dans l'onglet Appareils (Devices).
-
Appium URL - Enter the Appium URL, that you previously copied, using the following format:
http://<ipaddress>:8001. -
Plate-forme (Platform) : cliquez sur le champ pour sélectionner iOS dans la liste déroulante.
-
Nom de l'appareil (Device Name) : saisissez le nom de l'appareil.
-
Additional Desired Capabilities - Add the following capabilities:
Nom Valeur (Value) automationNamexcuitest(Cette capacité active le pilote Appium iOS)udidthe Identifier of the connected physical iOS device
-
-
(Facultatif) Configurez les détails de journalisation et d'enregistrement vidéo dans l'onglet Journalisation (Logging).
-
(Facultatif) Configurez votre processus de développement dans l'onglet Développement (Development).
- Fermer les onglets similaires (Close Similar Tabs) (activé par défaut) : fermez les onglets exécutant des connexions avec des appareils et des applications similaires.
- Attendre la mise à jour de la page (Wait for Page Update) (activé par défaut) : attendez que la source de la page récupère une capture d'écran de chaque action.
-
Cliquez sur Enregistrer et fermer (Save & Close) pour ajouter votre appareil.
Votre appareil est ajouté à la liste des appareils . Pour ajouter un périphérique local, voir. Si vous ne parvenez pas à démarrer votre appareil, consultez Résolution des problèmes: l'appareil physique ne démarre pas.
Automatisation hybride et Web sur iOS
L'automatisation hybride fonctionne par défaut pour les appareils iOS, à condition que vous n'essayiez pas d'automatiser une application conçue pour la production. Lors de l'automatisation des applications de production, le contenu hébergé par WKWebView ne sera pas automatisable, bien que tout contenu Web hébergé via SFSafariViewController puisse également être automatisé dans les applications de production. Pour plus d'informations, consultez SFSafariViewController.