studio
2024.10
true
Guide de l’utilisateur de Studio
Last updated 4 nov. 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.

Procédures

Comment exécuter l'automatisation Chrome/Edge/Firefox en mode incrustation d'image sans interrompre votre travail dans la session principale

Lorsque vous exécutez une automatisation Web avec les navigateurs Chrome/Edge/Firefox dans la session enfant d'un mode incrustation d'image (PiP) et que vous souhaitez continuer à utiliser le navigateur dans la session principale, sachez que Chrome et Edge ne peuvent pas être lancés simultanément, dans des sessions différentes, tout en utilisant le même répertoire de données utilisateur.

Le dossier par défaut est créé par le navigateur, lors de son premier lancement. Sous Windows, l'emplacement du dossier par défaut est %LOCALAPPDATA%\Google\Chrome\User Data. Les données de vos profils de navigateur sont conservées ici, et chaque nouveau profil de navigateur que vous créez dispose de son propre espace : historique de navigation, signets et cookies.
Si, en tant qu'utilisateur et pour une raison particulière, vous choisissez de démarrer le navigateur avec votre propre dossier de données personnalisé, vous pouvez le faire en lançant le navigateur avec la commande suivante : chrome.exe --user-data-dir=c:\foo. Toutes vos données de profil seront conservées dans ce dossier personnalisé.

Pour contourner cette limitation, les activités modernes UtiliserNavigateurApplications (UseApplicationBrowser) et classiques OuvrirNavigateur (OpenBrowser) fournissent une solution prête à l'emploi : les propriétés ModeDossierDonnéesUtilisateur (UserDataFolderMode) et CheminDossierDonnéesUtilisateur (UserDataFolderPath) qui indiquent à l'activité de lancer le navigateur avec son dossier par défaut, celui généré automatiquement par l'activité, ou une valeur personnalisée, spécifiée par la dernière propriété.

Examinons de plus près le fonctionnement de ces propriétés.

Incident n° 1

Vous ne voulez pas connaître tous les détails du dossier de données utilisateur, vous voulez simplement que l'automatisation lance le navigateur dans PiP et fasse son travail, vous permettant de faire votre propre travail dans la session principale. Ensuite, laissez ModeDossierDonnéesUtilisateur (UserDataFolderMode) vide. Sa valeur par défaut sera héritée en mode Automatique (Automatic) dans la section Paramètres du projet/NavigateurApplication (Project Settings/ApplicationBrowser) : le robot créera automatiquement pour vous un dossier/profil de données temporaire pour exécuter l'automatisation en mode incrustation d'image.

Incident n° 2

Vous souhaitez exécuter l'automatisation en mode incrustation d'image avec le dossier de données utilisateur par défaut, car il contient votre profil par défaut ainsi que l'historique de connexion et les cookies de l'ensemble de vos applications métier. Définissez ModeDossierDonnéesUtilisateur (UserDataFolderMode) sur DossierParDéfaut (DefaultFolder). Gardez à l'esprit que le simple lancement du navigateur dans votre session de travail n'est pas possible tant que l'automatisation en mode incrustation d'image n'est pas terminée et/ou que le navigateur en mode incrustation d'image ne s'arrête pas.

Incident n° 3

Vous savez ce que vous faites et vous comprenez à la fois les limitations du navigateur et les capacités fournies par UiPath. Définissez ModeDossierDonnéesUtilisateur (UserDataFolderMode) sur DossierPersonnalisé (CustomFolder) et définissez CheminDossierDonnéesUtilisateur (UserDataFolderPath) sur le chemin d'accès de votre choix.

Pour tous les cas ci-dessus, nous vous recommandons d'installer l'extension via une stratégie de groupe. De cette façon, l'extension est disponible et activée pour tous les profils de navigateur, qu'ils soient créés dans des dossiers de données utilisateur par défaut ou personnalisés.

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.