- Notes de publication
- Démarrage
- Paramétrage et configuration
- Projets d'automatisation
- À propos de la publication de projets d'automatisation
- Conception d'automatisations
- Gérer les package d’activités
- Configuration des paramètres du projet d'activité
- Signature de paquets
- Gouvernance
- Import des entités
- Modern Design Experience
- Lier un projet à une idée dans Automation Hub
- Utilisation du gestionnaire de données
- Dépendances
- Types de workflows
- Flux de contrôle
- Comparaison de fichiers
- Meilleures pratiques d'automatisation
- Intégration du contrôle de code source
- À propos du contrôle de version
- Gestion de projets à l'aide de TFS
- Gestion de projets à l'aide de SVN
- Diff de workflow
- Débogage
- Journalisation
- L'outil de diagnostic (Diagnostic Tool)
- Analyseur de workflow
- À propos de l'analyseur de workflow
- ST-NMG-001 - Convention d'affectation de noms des variables
- ST-NMG-002 - Convention d'affectation de noms des arguments
- ST-NMG-004 - Duplication du nom complet
- ST-NMG-005 - La variable remplace une autre
- ST-NMG-006 - La variable remplace l'argument
- ST-NMG-008 - Longueur de variable dépassée
- ST-NMG-009 - Ajouter un préfixe aux variables DataTable
- ST-NMG-011 - Ajouter un préfixe aux arguments Datatable
- ST-NMG-012 - Valeurs par défaut de l'argument
- ST-NMG-016 : longueur d'argument dépassée
- ST-NMG-017 - Le nom de la classe correspond à l'espace de noms par défaut
- ST-DBP-002 - Nombre élevé d'arguments
- ST-DBP-003 - Bloc d'interception vide
- ST-DBP-007 - Plusieurs couches de l'organigramme
- ST-DPB-010 - Plusieurs instances de [Workflow] ou [Case de test]
- ST-DBP-020 - Propriétés de sortie non définies
- ST-DBP-021 - Délai d'expiration codé en dur
- ST-DBP-023 : Workflow vide
- ST-DBP-024 - Vérification de l’activité de persistance
- ST-DBP-025 - Condition préalable à la sérialisation des variables
- ST-DBP-026 - Utilisation de l’activité Délai
- ST-DBP-027 - Pratiques exemplaires de persistance
- ST-DBP-028 - Condition préalable à la sérialisation des arguments
- ST-MRD-002 - Valeurs par défaut des noms d'activités
- ST-MRD-004 - Activités inaccessibles
- ST-MRD-005 - Séquences redondantes
- ST-MRD-007 - Clauses If imbriquées
- ST-MRD-008 - Séquence vide
- ST-MRD-009 - Activités profondément imbriquées
- ST-MRD-011 - Utilisation de la ligne d'écriture
- ST-MRD-017 - Incomplet si (Incomplete If)
- ST-USG-005 - Arguments d'activité codée en dur
- ST-USG-009 - Variables inutilisées
- ST-USG-010 - Dépendances inutilisées
- ST-USG-014 - Restrictions sur les paquets (Package Restriction)
- ST-USG-020 - Nombre minimum de messages consignés
- ST-USG-024 - Non utilisé, sauvegardé pour plus tard (Unused Saved for Later)
- ST-USG-025 - Utilisation abusive de la valeur enregistrée (Saved Value Misuse)
- ST-USG-026 - Restrictions d'activité (Activity Restrictions)
- ST-USG-027 - Packages requis
- ST-USG-028 - Restreindre l'invocation des modèles de fichier
- ST-USG-027 - Balises requises
- ST-USG-034 – URL Automation Hub
- Variables
- Arguments
- Noms d'espace importés
- Automatisations codées
- Introduction
- Enregistrement de services personnalisés
- Contextes Avant (Before) et Après (After)
- Génération du code
- Génération de cas de test codé à partir de cas de test manuels
- Automatisation Attended basée sur déclencheur
- Enregistrement
- Éléments de l'interface utilisateur
- À 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
- Sélecteurs
- Réf. d’objets
- Capture de données
- Automatisation des images et des textes
- À 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
- Automatisation des technologies Citrix
- Automatisation de RDP
- Automatisation VMware Horizon
- Automatisation de Salesforce
- Automatisation SAP
- Automatisation de l'interface utilisateur macOS
- Outil ScreenScrapeJavaSupport
- Protocole Webdriver
- Extensions
- À propos des extensions
- Outil SetupExtensions
- UiPathRemoteRuntime.exe n'est pas en cours d'exécution dans la session distante
- UiPath Remote Runtime bloque la fermeture de la session Citrix
- UiPath Remote Runtime provoque une fuite de mémoire
- Les packages UiPath.UIAutomation.Activities ne correspondent pas aux versions d'UiPath Remote Runtime
- L'extension UiPath requise n'est pas installée sur la machine distante
- Paramètres de résolution d’écran
- Stratégies de groupe Chrome
- Impossible de communiquer avec le navigateur
- L’extension Chrome est automatiquement supprimée
- L'extension a peut-être été corrompue
- Vérification de l'installation et de l'activation de l'extension pour Chrome
- Vérifiez si ChromeNativeMessaging.exe est en cours d’exécution
- Vérifier si la variable ComSpec est correctement définie
- Activez l’accès aux URL de fichiers et au mode navigation privée
- Profils de navigateur multiples
- Group Policy conflict
- Problèmes connus spécifiques aux extensions MV3
- Liste des extensions pour Chrome
- Extension Chrome sur Mac
- Stratégies de groupe Edge
- Impossible de communiquer avec le navigateur
- L’extension Edge est automatiquement supprimée
- L'extension a peut-être été corrompue
- Vérification si l'extension pour Microsoft Edge est installée et activée
- Vérifiez si ChromeNativeMessaging.exe est en cours d’exécution
- Vérifier si la variable ComSpec est correctement définie
- Activation de l'accès aux URL de fichiers et au mode navigation privée
- Profils de navigateur multiples
- Group Policy conflict
- Problèmes connus spécifiques aux extensions MV3
- Liste des extensions pour Edge
- Extension pour Safari
- Extension pour VMware Horizon
- Extension pour Amazon WorkSpaces
- Plug-in du gestionnaire de solution SAP
- Complément Excel
- Suite de tests - Studio
- Résolution des problèmes
- À propos de la résolution des problèmes
- Prise en charge et limitations de Microsoft App-V
- Résolution des problèmes rencontrés avec Internet Explorer x64
- Problèmes rencontrés avec Microsoft Office
- Identification des éléments d'IU dans PDF avec options d'accessibilité
- Réparation de la prise en charge d'Active Accessibility
- La validation des projets volumineux hérités depuis Windows prend plus de temps que prévu
À propos des sélecteurs
Pour automatiser des actions spécifiques dans l’interface utilisateur, vous devez interagir avec différents fenêtres, boutons, listes déroulantes et bien d’autres. Les éléments d’IU peuvent être identifiés notamment en utilisant leur position sur l’écran, mais cela peut être peu fiable.
Dans Studio, ce problème est résolu grâce à l’emploi de sélecteurs. Leur rôle est de stocker les attributs d’un élément d’interface utilisateur graphique et de ses parents sous la forme d’un fragment XML.
Les sélecteurs sont généralement générés par Studio de façon automatique, sans que vous ayez besoin de fournir d'autres données. C'est d'autant plus vrai si votre projet d'automatisation porte sur une interface utilisateur statique.
Certains logiciels (par exemple des applications Web) sont cependant caractérisés par une mises en page changeante et des nœuds d’attribut liés à des valeurs volatiles. Ces changements ne peuvent pas être anticipés par Studio et il est donc possible que vous ayez besoin de créer certains sélecteurs manuellement.
Voici la structure d'un sélecteur :
<node_1/><node_2/>...<node_N/>
<node_1/><node_2/>...<node_N/>
Le dernier nœud représente l'élément de l'interface utilisateur graphique que l'on souhaite automatiser, tandis tous les nœuds précédents représentent les parents de cet élément. <node_1> est généralement connu sous le nom de nœud racine : il représente la fenêtre supérieure de l'application.
Chaque nœud possède un ou plusieurs attributs pour permettre d'identifier sans hésitation un niveau donné de l'application sélectionnée.
Chaque nœud suit le format suivant :
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
Une valeur est associée à chaque attribut. Il est important de choisir des attributs avec des valeurs constantes, car le sélecteur ne pourra pas reconnaître l'élément si les valeurs des attributs changent à chaque démarrage de l'application.
Les sélecteurs sont affichés dans le panneau d'activités Propriétés (Properties), sous Saisie > Cible > Sélecteur (Input > Target > Selector). Toutes les activités liées aux éléments graphiques possèdent cette propriété.
La fenêtre Options de sélection (Selection Options) permet de sélectionner et de modifier une cible. Pour accéder à cette fenêtre, dans le panneau Concepteur de workflow (Workflow Designer), cliquez sur le bouton Options dans le corps d'une activité et sélectionnez Indiquer la cible à l'écran (Indicate target on screen) ou Modifier la cible (Edit target).
La fenêtre Éditeur de sélecteur (Selector Editor) permet d'afficher et de modifier le sélecteur automatique, ainsi que ses attributs. Pour accéder à cette fenêtre, utilisez le bouton Ellipse à côté du champ Sélecteur (Selector), dans le panneau Propriétés (Properties).
Option |
Description |
---|---|
Valider |
Le bouton indique l'état du sélecteur en vérifiant la validité de la définition de sélecteur et la visibilité de l'élément cible à l'écran. Le bouton Valider a trois états :
Le bouton est relié aux états de validation d'UI Explorer. |
Indiquer l'élément (Indicate Element) |
Indiquez un nouvel élément d'IU pour remplacer le précédent. |
Réparer (Repair) |
Permet d'indiquer à nouveau le même élément d'IU cible et de réparer le sélecteur. Cette opération ne remplace pas complètement le sélecteur précédent. Le bouton est uniquement disponible lorsque le sélecteur n'est pas valide. |
Mettre en surbrillance (Highlight) |
Met l'élément cible au premier plan. Il reste surligné jusqu'à ce que l'option soit désactivée par clic. Le bouton est uniquement activé si le sélecteur est valide. |
Modifier les attributs |
Contient tous les composants de l'application nécessaires à l'identification de l'application cible (une fenêtre, un bouton, etc.). Cette section est modifiable. |
Modifier le sélecteur |
Contient le sélecteur réel. Cette section est modifiable. |
Ouvrir dans UI Explorer |
Lance UI Explorer. L'option est uniquement activée pour les sélecteurs valides. |
Les tableaux suivants présentent la compatibilité entre les balises et les attributs utilisés pour créer des sélecteurs et la capacité du sélecteur:
Attribut |
Fuzzy |
RegEx |
Sensible à la casse |
---|---|---|---|
app |
|
|
|
cls |
|
|
|
title |
|
|
|
aaname |
|
|
|
ctrlname (WinForms) |
|
|
|
ctrlid (WinForms) |
|
|
|
idx |
|
|
|
tid |
|
|
|
pid |
|
|
|
isremoteapp |
|
|
|
aastate |
|
|
|
sapClient (SAP) |
|
|
|
sapLanguage (SAP) |
|
|
|
sapProgram (SAP) |
|
|
|
sapScreen (SAP) |
|
|
|
sapSession (SAP) |
|
|
|
sapSysName (SAP) |
|
|
|
NuméroSysSap (SAP) |
|
|
|
sapSysSessionId (SAP) |
|
|
|
sapTransaction (SAP) |
|
|
|
sapUser (SAP) |
|
|
|
Attribut |
Fuzzy |
RegEx |
Sensible à la casse |
---|---|---|---|
url |
|
|
|
htmlwindowname |
|
|
|
title |
|
|
|
class |
|
|
|
app |
|
|
|
idx |
|
|
|
pid |
|
|
|
tid |
|
|
|
excludehwnd |
|
|
|
bsid (Browser Session ID) |
|
|
|
isremoteapp |
|
|
|
Les attributs tag et idx utilisent des valeurs de chaîne. Tous les autres attributs WEBCTRL ont des valeurs dynamiques.`
Attribut |
Fuzzy |
RegEx |
Sensible à la casse |
---|---|---|---|
tag |
|
|
|
idx |
|
|
|
aaname |
|
|
|
name |
|
|
|
id |
|
|
|
parentid |
|
|
|
class |
|
|
|
css-selector |
|
|
|
innertext |
|
|
|
visibleinnertext |
|
|
|
isleaf |
|
|
|
parentclass |
|
|
|
parentname |
|
|
|
src |
|
|
|
href |
|
|
|
tableCol |
|
|
|
tableRow |
|
|
|
colName |
|
|
|
rowName |
|
|
|
aria-label |
|
|
|
aria-labelledby |
|
|
|
Attribut |
Fuzzy |
RegEx |
Sensible à la casse |
---|---|---|---|
Rôle |
|
|
|
name |
|
|
|
automationid |
|
|
|
labeledby |
|
|
|
aastate |
|
|
|
virtualname |
|
|
|
text |
|
|
|
rowName |
|
|
|
idx |
|
|
|
Attribut |
Fuzzy |
RegEx |
Sensible à la casse |
---|---|---|---|
accelkey (Accelerator Key) |
|
|
|
acskey (Access Key) |
|
|
|
automationid |
|
|
|
cls |
|
|
|
helpText |
|
|
|
legacyAccHelp (Legacy Accessible Help) |
|
|
|
enabled |
|
|
|
kbfocus (Is Keyboard Focusable) |
|
|
|
ispwd (Is Password) |
|
|
|
itemstatus |
|
|
|
itemtype |
|
|
|
rtid (Runtime ID) |
|
|
|
Rôle |
|
|
|
name |
|
|
|
pid |
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
rowName |
|
|
|
colName |
|
|
|
idx |
|
|
|
Attribut |
Fuzzy |
RegEx |
Sensible à la casse |
---|---|---|---|
Rôle |
|
|
|
name |
|
|
|
virtualname |
|
|
|
javastate |
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
rowName |
|
|
|
colName |
|
|
|
idx |
|
|
|
Attribut |
Fuzzy |
RegEx |
Sensible à la casse |
---|---|---|---|
id |
|
|
|
leafid
|
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
colName |
|
|
|
relpath |
|
|
|
itemId |
|
|
|
Veuillez noter que la balise Silverlight ne prend pas en charge les capacités Fuzzy, RegEx et Case-Sensitive.