- Démarrage
- Paramétrage et configuration
- Prérequis logiciels et matériels
- À propos des licences à tarification unifiée
- À propos des licences Flex
- Activation de Studio
- Mettre à jour Studio
- Paramètres de la ligne de commande
- Applications et technologies prises en charge
- Activer Gmail pour les activités de messagerie
- Refus de la télémétrie
- Exécutables Studio
- 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
- Lier un projet à une idée dans Automation Hub
- Utilisation du gestionnaire de données
- Solutions
- 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 [cas 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-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 - Propriétés de l'activité codées 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-017 - Modificateur de paramètre non valide
- 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
- Intégration d'OpenAI avec des workflows codés
- Demander un prêt auprès de UiBank
- Génération de files d'attente avec workflows codés et API Orchestrator
- Utilisation de projets de bibliothèque importés dans des automatisations codées
- Utilisation de l’authentification à deux facteurs dans des automatisations codées
- Connexion à MongoDB Atlas avec des automatisations codées
- Résolution des problèmes
- Automatisation Attended basée sur déclencheur
- Réf. d’objets
- Outil ScreenScrapeJavaSupport
- 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
- Le package UiPath.UIAutomation.Activities ne correspond 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
- 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
- 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
- Tests Studio
- Résolution des problèmes
- À propos de la résolution des problèmes
- Erreurs de compilation de l’assembly
- 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
Guide de l'utilisateur de Studio
Compréhension du processus
Le choix entre une automatisation des robots assistés ou non assistés est la première décision importante qui impacte la manière dont les développeurs créent le code, car l'infrastructure d'exécution générale (déclenchement du Robot, interaction, gestion des erreurs) est différente. Le basculement ultérieur vers l'autre type de Robot peut s'avérer fastidieux.
Lorsque les robots assistés ont du sens
Pour des processus critiques et opérationnels déclenchés par l'humain, tels que dans un centre d'appels, la collaboration d'un Robot assisté avec un humain peut s'avérer la seule réponse possible.
Repenser les Robots Attended
Tous les processus nécessitant une intervention humaine ne doivent pas utiliser de robots Attended. Si une décision prise de valeur prise sur un option est impossible, envisagez de diviser le processus en sous-processus plus petits pouvant s'exécuter de manière non assistée.
Par exemple, un sous-processus peut collecter des données et, après validation humaine, un deuxième sous-processus se poursuit automatiquement.
Citons un cas typique : un processus requiert une étape manuelle en cours de processus, par exemple la vérification de la section des commentaires non structurés d'un ticket, et en fonction de cela, attribue le ticket à certaines catégories.
Avantages et considérations pratiques
De façon générale, l'implémentation d'un Robot non assisté garantit une utilisation plus efficace de la charge du Robot et un ROI plus élevé, une gestion et un suivi améliorés des capacités robotiques.
Cependant, plusieurs facteurs affectent cette décision:
- Les Attended Robots s’exécutent généralement uniquement pendant les heures de travail
- Les Attended Robots occupent les machines et les utilisateurs jusqu’à la fin de l’exécution
- Types d'entrée et volumes de transactions
- Restrictions temporelles et planification
- Nombre de robots disponibles
Documentation du processus - DSD
La documentation du processus guide le travail du développeur et propose une aide dans le suivi des requêtes et la gestion de l'application. Évidemment, beaucoup d'autres documents techniques peuvent être disponibles. Cependant, celui-là est essentiel à un bon déroulement, à savoir DSD (Development Specification Document).
Le document Development Specification Document doit contenir les détails du processus automatisé et cibler deux catégories principales : Guide d'exécution (Runtime Guide) et Détails du développement (Development Details).
Le Guide de runtime doit contenir un diagramme de runtime de haut niveau et des détails sur la fonctionnalité du Robot, y compris les sous-processus, les planifications, les paramètres de configuration et la gestion des fichiers.
Incluez des détails sur les prérequis, la gestion des Errors, la reprise du processus, l'utilisation d'Orchestrator, la journalisation, la création de rapports et la gestion des informations d'identification.
Les détails du développement doivent inclure les packages, l'environnement de développement, les niveaux de journalisation, les informations de contrôle de code source et les composants de workflow avec des descriptions.
Incluez également des composants réutilisables, des arborescences d'invocation, des journaux personnalisés, des instantanés Flowchart, des niveaux d'automatisation et d'autres détails du développement.
Développement et révision du code
L'architecte de solutions RPA est chargé de l'encadrement continu des développeurs concernant les meilleures pratiques. Par conséquent, des révisions de code fréquentes et complètes sont obligatoires pour appliquer une qualité très élevée de workflows développés. De cette façon, les développeurs sont motivés pour créer des workflows robustes et pour suivre le guide des meilleures pratiques.
Test
Une fois chaque composant créé, effectuez des tests unitaires. Des tests approfondis des composants garantissent une intégration plus fluide et un débogage plus rapide.
Utilisez le dossier Test_Frameworkde REFramework pour les fichiers de test. Le fichier RunAllTests.xaml permet de tester automatiquement plusieurs fichiers .xaml . Exécutez les tests en dehors des heures de bureau dans des environnements de test afin d'optimiser le temps des développeurs.
L'architecture UiPath recommandée inclut des environnements de Dév (Dev) et de Test (Test) qui permettent de tester les processus en dehors des systèmes de production opérationnels.
Parfois, l'apparence ou le comportement des applications est différent entre les environnements de Dév (Dev), de Test (Test) ou de Production (Production). Des mesures supplémentaires doivent être prises, telles que le nettoyage des sélecteurs voire l'exécution conditionnelle de certaines activités.
Utilisez le fichier UiPath.config ou les ressources Orchestrator pour basculer entre les indicateurs spécifiques à l'environnement. Définissez un paramètre booléen de mode de test pour contrôler le comportement lors du débogage.
Lorsqu'il est défini sur True, l'automatisation suit les chemins de test et ne s'exécute pas entièrement. Par exemple, ignorez les notifications et utilisez Annuler au lieu d' Enregistrer. Lorsqu'il est défini sur False, suivez les voies de production normales.
Ceci permet d'effectuer les modifications et de les tester dans les processus qui fonctionnent directement dans les systèmes opérationnels.
Mise en production
Il existe différentes manières de concevoir le flux d'architecture et de mise en production, en prenant en compte la configuration de l'infrastructure, les problèmes sur la séparation des rôles, etc.
Dans ce modèle proposé, les développeurs d'UiPath peuvent créer leurs projets et les tester dans les environnements de Développement (Development) d'Orchestrator. Ils sont autorisés à archiver le projet sur un lecteur géré par un système de contrôle de versions (VCS), tel que GIT, SVN ou TFS.
La publication du paquet et sa mise à disposition pour les environnements de Test (Test) et de Production (Production) est la tâche d'une équipe différente, telle que TI.
Les chemins de déploiement dans Orchestrator sont passés de leur valeur par défaut aux dossiers gérés par le VCS, en modifiant la valeur Storage.Location dans le fichier UiPath.Orchestrator.dll.config de la section Déploiement (Deployment).
Le modèle contient également un référentiel de composants réutilisables.
Voici le flux de publication du projet, étape par étape :
- Les développeurs créent le processus, testent et déboguent localement les éléments correspondants (Studio).
- Une fois le développement de l'automatisation terminé, le processus est publié dans l'application Orchestrator de développement (Development) et testé à nouveau de bout en bout.
- Le dossier du projet est validé (non empaqueté) dans un dossier Bibliothèque principale (Master Library) (dans VCS (VCS)).
- L'équipe des opérations informatiques/RPA crée le paquet du projet pour l'AQ. Cette étape est conçue comme mesure de sécurité supplémentaire : le code source d'automatisation est inspecté (par une entité différente) avant d'être empaqueté et exécuté par des robots. Par exemple, le processus empaqueté est stocké dans le dossier Paquets de processus (AQ) (Process Pckgs (QA)) dans VCS (VCS), à partir duquel il est déployé dans les robots AQ et exécuté.
- Si des problèmes sont signalés lors des tests, les étapes ci-dessus sont répétées.
- Une fois tous les tests AQ réussis, le paquet est transmis dans un environnement de production (Production) - Paquets de processus (Prod) Process Pckgs (Prod).
- Lorsque le processus est opérationnel, le paquet de processus est déployé dans les Robots de production et exécuté.
Le Contenu réutilisable (Reusable Content) est créé et déployé séparément, en tant que code UiPath (Bibliothèque de codes réutilisables (Reusable Code Library)) et Invocations (Invokes) (Référentiel d'invocations (Invokes Repository)).
Les workflows avec code source sont les fichiers .xaml contenant des activités pour automatiser les processus communs, tels que Connexion à SAP (Log in to SAP) :
Les Invocations (Invokes) représentent les workflows composés uniquement d'une activité Invocation (Invoke) des workflows de code susmentionnés.
Le panneau Extrait (Snippet) d'un développeur Studio doit désigner ce référentiel d'invocations (Invoke) afin de simplifier l'accès (glisser et déposer) au Contenu réutilisable (Reusable Content).
L'autorité de conception locale responsable de la gestion du Contenu réutilisable (Reusable Content) met à jour (en raison d'un changement de processus, par exemple) les workflows avec le code. Les Invocations (Invokes) restent inchangées.
L'avantage de cette méthode (par opposition à l'utilisation directe de la bibliothèque du code source) est que lors de la modification d'un contenu réutilisable, tous les projets en cours reflètent également cette modification, car ils ne contiennent qu'une Invocation (Invoke) du workflow modifié.
Surveillance
Utilisez les activités Message du journal pour suivre l'exécution du processus à des fins de supervision, de diagnostic et de débogage. Les messages doivent inclure les identifiants de transaction et les informations sur l’état pour permettre une identification précise.
La journalisation doit être utilisée :
- au début et à la fin de tous les workflows ;
- lorsque les données proviennent de sources externes ;
- Chaque fois qu'une exception est générée au niveau supérieur.
Les messages sont envoyés avec la priorité spécifiée (par exemple Informations, Traçage, Avertissement (Info, Trace, Warning)) à Orchestrator et sont également enregistrés dans le fichier .nlog local.
Champs de journaux personnalisés
Pour que les données soient facilement disponibles dans Kibana à des fins de rapports, le Robot peut marquer les messages du journal avec des valeurs supplémentaires à l'aide de l'activité Ajouter des champs de journaux (Add Log Fields). Par défaut, toute sortie de journal UiPath possède déjà plusieurs champs, dont message, timestamp, level, processName, fileName, et l'identité Windows du Robot. Les champs de journaux sont persistants. S'il n'est donc pas nécessaire de marquer tous les messages avec une balise, les champs doivent être supprimés immédiatement après la consignation, à l'aide de l'activité Supprimer les champs de journaux (Remove Log Fields). N'utilisez pas un nom de champ qui existe déjà. Il est important de spécifier le type correct d'argument la première fois que vous ajoutez le champ. Il s'agit de la manière dont Elasticsearch l'indexe.