- 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
Meilleures pratiques
Pour vous assurer que vos automatisations codées sont efficaces, maintenables et évolutives, vous devez suivre leurs bonnes pratiques. Cette section fournit un aperçu des bonnes pratiques à retenir lorsque vous vous lancez dans l’exploitation du code pour créer des solutions d’automatisation. L'adoption de ces bonnes pratiques vous aidera à concevoir des automatisations codées, en particulier lors de la structuration de votre code, de l'implémentation de stratégies de gestion des erreurs ou de la création de composants réutilisables.
Le parallélisme améliore les performances et son implémentation dans les automatisations codées est simplifiée. Une boucle Pour chaque (For Each= peut augmenter la vitesse d’exécution d’une automatisation.
Les automatisations codées (fichiers CS) ne prennent pas en charge l’utilisation ou l’invocation de variables ou d’arguments de classes imbriquées dans des automatisations low-code (fichiers XAML). Si vous essayez d’invoquer ce type d’arguments à l’aide d’une activité Appeler le fichier de flux de travail (Invoke Workflow File) ou de créer de tels arguments dans des fichiers XAML, vous recevrez des erreurs. Nous vous recommandons d’utiliser des variables et des arguments des classes imbriquées uniquement dans d’autres fichiers CS.
CodedWorkflow
, ParentFile
(une classe intermédiaire qui hérite de CodedWorkflow
et contient une méthode personnalisée) et MyCustomWorkflow
avec AnotherCustomWorkflow
(classes dérivées qui héritent de ParentFile
) . Le tableau ci-dessous montre comment fonctionne l'héritage entre ces classes et ces fichiers :
Automatisation codée | Description | Code |
---|---|---|
CodedWorkflow (read-only partial class)
| Cette classe sert de base à tous les workflows codés. Elle contient des méthodes et des propriétés essentielles communes à tous les workflows, héritées de la classe CodedWorkflowBase . Dans cet exemple, il s'agit de la classe dont tous les autres workflows hériteront au final.
Attention : le fichier dont les autres workflows héritent doit également hériter des classes
CodedWorkflow et implicitement des classes CodedWorkflowBase . Cela garantit que tous les workflows héritent des fonctions essentielles et fonctionnent comme prévu.
|
|
ParentFile (code source file containing an intermediate class and a custom method)
| Cette classe hérite de CodedWorkflow et ajoute des méthodes et des fonctionnalités personnalisées. Dans cet exemple, elle inclut une méthode personnalisée appelée CustomMethod , qui effectue des actions spécifiques, telles que le démarrage d'une tâche dans Orchestrator.
|
|
MyCustomWorkflow and AnotherCustomWorkflow (coded workflows that inherit the code source file)
| Ces classes héritent de ParentFile et personnalisent davantage le workflow en remplaçant des méthodes ou en fournissant différentes valeurs de paramètre. Dans cet exemple, nous avons MyCustomWorkflow et AnotherCustomWorkflow , les deux héritant de ParentFile .
|
|
ParentFile
hérite de CodedWorkflow
, toute classe qui hérite de ParentFile
hérite indirectement des fonctionnalités et des méthodes de CodedWorkflow
. En d'autres termes, MyCustomWorkflow
et AnotherCustomWorkflow
héritent de la fonctionnalité de base de la classe partielle CodedWorkflow
jusqu'à la classe ParentFile
, ainsi que d'autres classes personnalisées, telles que CustomMethod
.
Pour améliorer vos automatisations codées, à l'aide d'une logique personnalisée, vous pouvez enregistrer des services personnalisés que vous utiliserez ultérieurement dans vos automatisations codées. Consultez Enregistrement de services personnalisés pour savoir comment enregistrer votre propre service personnalisé.
Dans les cas de test, les contextes Avant (Before) et Après (After) vous permettent d'exécuter certaines actions avant et après l'exécution du cas de test. Ces contextes sont couramment utilisés pour configurer et supprimer les ressources, effectuer la journalisation et gérer l’environnement de test. Consultez Contextes Avant (Before) et Après (After) pour découvrir comment les contextes se comportent et comment les implémenter.
- Nous vous recommandons de n'apporter aucune modification aux espaces de noms.
- Stockez une action dans une classe et réutilisez-la dans votre projet pour éviter de dupliquer le code.
- Vous pouvez supprimer les espaces de noms que vous avez importés au moment de la conception et qui ne sont plus nécessaires.
- Si vous devez obtenir des données provenant de plusieurs applications, séparez les phases de l'automatisation codée afin de ne pas mélanger les données provenant de différentes sources.