- Notes de publication
- 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
Machines à états
Une machine d'état est un type d'automatisation qui utilise un nombre fini d'états dans son exécution. Le processus passe par un état lorsqu'il est déclenché par une activité, puis quitte cet état lorsqu'une autre activité est déclenchée.
Les transitions sont une autre caractéristique importante des machines à états, car elles permettent d'ajouter des conditions pour le passage d'un état à un autre. Elles sont représentées par des flèches ou des branches entre les états.
Il existe deux activités qui sont spécifiques aux automates, à savoir État et État final qui se trouvent sous Workflow > Automate.
Un seul état initial peut être créé, mais il est possible d'avoir plusieurs État final (Final State).
L'activité de type État (State) contient trois sections, nommées Entrée (Entry), Sortie (Exit) et Transition(s), tandis que l'État final (Final State) ne contient que la section Entrée (Entry). Vous pouvez double-cliquer sur ces deux activités pour afficher plus d'informations ou pour les modifier.
Les sections Entrée (Entry) et Sortie (Exit) permettent d'ajouter des déclencheurs de type entrant et sortant pour l'état sélectionné, tandis que la section Transition(s) indique toutes les transitions liées à l'état sélectionné.


Comme pour l'activité État (State), il suffit de double-cliquer sur les transitions pour les ouvrir. Elles contiennent trois sections :Déclencheur (Trigger), Condition (Condition) et Action (Action), qui permettent d'ajouter un déclencheur pour passer à l'état suivant, ou bien de définir une condition pour l'execution d'une activité ou d'une séquence.

Exemple d'utilisation d'une machine à état
Pour illustrer les propriétés d'une machine à état, nous vous invitons à recréer le jeu de devinettes du chapitre précédent, avec une petite difference : cette fois, nous devons tenter de deviner un nombre entre 1 et 100.
- Créez un processus vierge et, dans l'onglet Conception (Design), groupe Fichier (File), sélectionnez Nouveau > Machine d'état (New > State Machine). La fenêtre Nouvelle machine d'état (New State Machine) s'affiche.
Remarque :
Vous pouvez également ajouter une activité Machine d'état (State Machine) dans le panneau Concepteur (Designer) pour créer une nouvelle machine à état.
- Dans le champ Nom (Name), entrez un nom pour l'automatisation, tel que « Première machine d'état », et conservez l'emplacement du projet par défaut ou ajoutez un sous-dossier. Cliquez sur Créer (Create). Le panneau Concepteur (Designer) est mis à jour en conséquence.
- Créez deux variables de type entier :
InitialGuessetRandomNumber. La première variable enregistrera votre réponse, tandis que la seconde contiendra le nombre aléatoire. - Ajoutez une activité de type État (State) au module Concepteur (Designer) et reliez-la au nœud Initial : vous obtenez un état initial, qui est utilisé pour générer le nombre aléatoire.
- Double-cliquez sur l'activité État (State) pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
- Rendez-vous dans le module Propriétés (Properties) et saisissez « Initialisation du nombre aléatoire » dans le champ NomAffichage (DisplayName) afin de pouvoir différencier facilement les états.
- Dans la section Entrée (Entry), ajouter une activité Attribuer (Assign).
- Ajoutez la variable
RandomNumberdans le champ À (To). - Saisissez l'expression
new Random().Next(1,100)dans le champ Valeur (Value) pour générer un nombre aléatoire. - Revenez à l'écran principal du projet et ajoutez une nouvelle activité de type État (State).
- Reliez-la à l'activité précédente.
- Double-cliquez sur la dernière activité d'État (State) pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
- Rendez-vous dans le module Propriétés (Properties) et saisissez « Numéro de la réponse » dans le champ NomAffichage (DisplayName). Cet état sera utilisé pour inviter l'utilisateur à deviner un nombre.
- Dans la section Entrée (Entry), ajouter une activité Boîte de dialogue (Input Dialog).
- Sélectionnez la Boîte de dialogue (Input Dialog) : dans le module Propriétés (Properties), renseignez un Intitulé et un Titre (Title) pour inviter l'utilisateur à saisir un nombre entre 1 et 100.
- Ajoutez la variable
InitialGuessdans le champ Résultat (Result) pour enregistrer la réponse de l'utilisateur. - Revenez sur l'écran principal du projet et créez une transition en boucle qui relie l'état « Numéro de la réponse » à lui-même.
- Double-cliquez sur la transition pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
- Rendez-vous dans le module Propriétés (Properties) et saisissez "Choisissez un nombre plus petit" dans le champ NomAffichage (DisplayName). Ce message apparaitra sur la flèche pour faciliter l'exécution du projet d'automatisation.
- Dans la section Condition (Condition), saisissez
InitialGuess>RandomNumberafin de vérifier si le nombre donné par l'utilisateur est supérieur au nombre aléatoire. - Dans la section Action (Action), ajoutez une activité de type Zone de message (Message Box).
- Dans le champ Texte (Text), saisissez un message qui s'affichera lorsque la réponse de l'utilisateur est supérieure au nombre aléatoire, comme par exemple : "Le nombre choisi est trop élevé. Choisissez un nombre plus petit.".
- Revenez à la vue principale du projet et créez une transition qui passe de l'état Deviner le nombre (Guess Number) à lui-même.
- Double-cliquez sur la transition pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
- Rendez-vous dans le module Propriétés (Properties) et saisissez "Choisissez un nombre plus élevé" dans le champ NomAffichage (DisplayName). Ce message apparaitra sur la flèche pour faciliter l'exécution du projet d'automatisation.
- Dans la section Condition (Condition), saisissez
InitialGuess<RandomNumberafin de vérifier si le nombre donné par l'utilisateur est inférieur au nombre aléatoire. - Dans la section Action (Action), ajoutez une activité de type Zone de message (Message Box).
- Dans le champ Texte (Text), saisissez un message qui s'affichera lorsque la réponse de l'utilisateur est inférieure au nombre aléatoire, comme par exemple : "Le nombre choisi est trop bas. Choisissez un nombre plus élevé.".
- Revenez sur l'écran principal du projet et ajoutez une activité de type État final (Final State) dans le module Concepteur (Designer).
- Reliez l'activité Numéro de la réponse (Guess Number) à l'activité État final (Final State) à l'aide d'une transition.
- Rendez-vous dans le module Propriétés (Properties) et saisissez "Bonne réponse" dans le champ NomAffichage (DisplayName).
- Dans le champ Condition (Condition), saisissez
InitialGuess=RandomNumber. Cette condition permet au processus d'automatisation de passer à l'état final et de se terminer. - Double-cliquez sur l'activité État final (Final State) pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
- Dans la section Entrée (Entry), ajoutez une activité de type Zone de message (Message Box).
- Dans le champ Texte, tapez quelque chose comme "Félicitations. Vous avez bien deviné ! Le numéro était " +
RandomNumber.ToString+ "." Il s’agit du message final qui doit s'afficher lorsque l’utilisateur devine correctement le nombre.
Le projet final devrait ressembler à l'illustration suivante :

36. Appuyez sur F5. L'automatisation est exécutée correctement.
