studio
2021.10
false
UiPath logo, featuring letters U and I in white
Guide de l’utilisateur de Studio
Last updated 23 sept. 2024

Automatisation de l'interface utilisateur

Attention : les processus d'automatisation qui utilisent les activités UIAutomation ne peuvent pas s'exécuter lorsque l'écran est verrouillé.

Parfois, la routine manuelle habituelle n’est pas la méthode optimale d’automatisation. Explorez attentivement le comportement de l’application et l’intégration/les fonctionnalités d’UiPath® avant d’opter pour une certaine méthode.

Remarque : l'utilisation de l'activité Parallel avec les activités d'UI Automation n'est pas prise en charge et entraînera souvent des conséquences imprévues.

Automatisation de poste de travail

UI Automation est mieux utilisé lorsque les Robots et les applications s'exécutent sur la même machine, car UiPath peut s'intégrer directement à la technologie derrière l'application pour identifier les éléments, déclencher les événements et extraire les données en coulisse.

Méthodes de saisie

UiPath utilise trois méthodes pour déclencher une activité Cliquer (Click) ou Saisir dans (Type Into) dans une application. Celles-ci s'affichent en tant que propriétés dans toutes les activités se rapportant à UI Automation.

Les propriétés SimulateType et SimulateClick

Si les propriétés SimulateType ou SimulateClick sont sélectionnées, Studio se connecte à l'application et déclenche le gestionnaire d'événements d'un élément d'IU indiqué (bouton, zone de texte). Le résultat est toujours dépendant de la technologie cible, telle qu'un navigateur Web ou d'une application métier.

Il est fortement recommandé de vérifier l'état de l'élément d'IU cible avant l'exécution, lorsque vous activez SimulateType ou SimulateClick pour les activités suivantes :

La même recommandation doit s'appliquer pour les applications ci-dessous, car elles utilisent par défaut les propriétés SimulateType ou SimulateClick et ne sont pas modifiables :

La propriété AlterIfDisabled

La propriété indique à l’activité cible si oui ou non elle doit interagir avec les éléments désactivés. Veuillez noter que cette propriété n’est prise en compte que si le SimulateType ou le SimulateClick sont activés. Vous pouvez trouver la propriété AlterIfDisabled pour les activités suivantes :

La propriété SendWindowMessages

Si la propriété Envoyer des messages de la fenêtre (SendWindowMessages) est sélectionnée, Studio publie les détails de l'événement dans la boucle de messages de l'application, et la procédure de la fenêtre de l'application l'envoie à l'élément d'IU cible en interne.



Studio signale les pilotes système avec les événements matériels si aucune des options ci-dessus n'est sélectionnée et laisse le système d'exploitation envoyer les détails vers l'élément cible.



Ces méthodes doivent être testées dans l'ordre indiqué, car les propriétés SimulateClick et SendWindowMessages sont plus rapides et fonctionnent également en arrière-plan. Mais, elles dépendent essentiellement de la technologie derrière l'application.

Les événements matériels fonctionnent à 100 %, car Studio effectue des actions à la manière d'un opérateur humain, telles que déplacer le pointeur de la souris et cliquer à un emplacement spécifique. Dans ce cas, en revanche, l'application en cours d'automatisation doit s'afficher à l'écran. Cela peut être considéré comme un inconvénient, car il existe le risque que l'utilisateur interfère avec l'automatisation.

Sélecteurs

Parfois, les sélecteurs générés automatiquement proposent des valeurs d'attributs volatiles pour identifier les éléments. L'intervention manuelle est requise pour calibrer les sélecteurs. Un sélecteur fiable doit identifier correctement chaque fois le même élément dans tous les cas, dans les environnements de développement, de test et de production, quels que soient les noms d'utilisateurs connectés aux applications.

Voici des conseils sur la manière d'améliorer un sélecteur dans l'Éditeur de sélecteur (Selector Editor) ou dans UI Explorer (UI Explorer) :

  • Remplacez les attributs avec des valeurs volatiles par des attributs qui semblent cohérents et significatifs.
  • Remplacez des parties de variables d'une valeur d'attribut par des caractères génériques (*).
  • Si la valeur d'un attribut est tout caractère générique (par exemple name=’*’), l'attribut doit être supprimé.
  • Si la modification des attributs ne résout pas le problème, essayez d'ajouter d'autres conteneurs intermédiaires.
  • Évitez d'utiliser l'attribut idx, sauf si sa valeur est un nombre très petit tel que 1 ou 2.


Dans le sélecteur ci-dessus, nous observons que le titre de la page possède une référence à l'heure d'enregistrement du sélecteur et également que des ID semblant aléatoires sont affectés à certains attributs. En modifiant les attributs, il est possible de trouver un meilleur sélecteur que l'enregistreur UiPath proposé.



Conteneurs

Semblables aux chemins d'accès aux fichiers, les sélecteurs peuvent être complets ou partiels (relatifs). Les sélecteurs complets commencent par une fenêtre ou un identificateur HTML et possèdent toutes les informations nécessaires pour trouver un élément sur le bureau entier. Tandis que les sélecteurs partiels ne fonctionnent qu'à l'intérieur d'une liaison/d'un conteneur qui spécifie la fenêtre de niveau supérieur à laquelle les éléments appartiennent :

  • Ouvrir le navigateur (OpenBrowser)
  • Ouvrir l'application (OpenApplication)
  • Lier à un navigateur (AttachBrowser)
  • Lier à une fenêtre (AttachWindow)

Voici un peu plus d'informations sur la rubrique Sélecteurs complets ou partiels.

L'utilisation de conteneurs avec des sélecteurs partiels au lieu de sélecteurs complets présente de nombreux avantages :

  • Regroupe visuellement les activités fonctionnant dans la même application.
  • Est légèrement plus rapide, sans accéder chaque fois à la fenêtre supérieure.
  • Facilite la gestion des sélecteurs de niveau supérieur au cas où des mises à jour manuelles seraient nécessaires.
  • Essentiel en cas d'utilisation de deux instances de la même application.

Automatisation de l'image

La reconnaissance d'image est la dernière méthode d'automatisation des applications si rien d'autre ne fonctionne pour identifier les éléments d'IU à l'écran (tels que des sélecteurs ou des raccourcis clavier). Étant donné que la correspondance d'image requiert l'affichage complet des éléments à l'écran et que tous les détails visibles sont identiques aussi bien lors de l'exécution que du développement, vous devez être très vigilant pour garantir la fiabilité du processus lorsque vous utilisez l'automatisation de l'image. La sélection d'une partie plus/moins importante d'une image que nécessaire peut entraîner une image introuvable ou une correspondance de faux positif.

Considérations de résolution

La correspondance d'image est sensible aux variations de l'environnement, telles que le thème de bureau ou la résolution d'écran. Lorsque l'application s'exécute dans Citrix, la résolution doit être maintenue supérieure ou égale à celle lors de l'enregistrement des workflows. Sinon, de légères déformations de l'image peuvent être compensées en diminuant légèrement le facteur de précision de l'image capturée. Vérifiez la manière dont la mise en page de l'application s'ajuste à des résolutions différentes pour garantir la proximité des éléments visuels, surtout dans le cas de techniques basées sur les cordonnées, telles que le clic relatif ou l'extraction relative.

Si l'automatisation prend en charge des résolutions différentes, des enregistrements en parallèle peuvent être placés à l'intérieur d'une activité Sélectionner la branche (PickBranch). Le Robot utilise l'une des deux correspondances.

Moteurs OCR

Si OCR renvoie de bons résultats pour l'application, l'automatisation de texte est une bonne alternative à la réduction de l'influence de l'environnement. Le moteur Google Tesseract fonctionne mieux pour des zones plus petites, tandis que Microsoft MODI est plus adapté à de plus grandes zones.

L'utilisation du moteur MODI dans des boucles d'automatisation peut cependant parfois causer des fuites de mémoire. C'est la raison pour laquelle il est recommandé que l'extraction effectuée à l'aide de MODI soit invoquée via un workflow distinct, à l'aide de la propriété Isolé (Isolated).

Synchronisation de l'IU

Il est probable qu'un comportement inattendu se produise lorsque l'application n'est pas dans l'état que le workflow suppose. La première chose à examiner est le temps de réponse de l'application aux interactions du Robot.

La propriété Délai MS (DelayMS) permet d'attendre un moment que l'application réponde. Il existe des cas, cependant, où l'état de l'application doit être validé avant de passer à certaines étapes du processus. Les mesures peuvent inclure des activités supplémentaires qui attendent l'état souhaité de l'application avant d'autres interactions. Les activités pouvant être utiles incluent :

Automatisation en arrière-plan

Si une automatisation est conçue pour partager le bureau avec un humain, toute l'interaction de l'IU doit être implémentée en arrière-plan. Cela implique que l'automatisation doit gérer directement les objets d'éléments d'IU, permettant par la même de masquer ou de réduire la fenêtre de l'application durant le processus.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.