- Notes de publication
- Démarrage
- Paramétrage et configuration
- Projets d'automatisation
- À propos de la publication de projets d'automatisation
- Chargement des services Web dans les bibliothèques
- Activité générées à partir des services Web
- 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
- Comparaison de fichiers
- Meilleures pratiques d'automatisation
- Intégration du contrôle de code source
- Débogage
- 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-DBP-002 - Nombre élevé d'arguments
- ST-DBP-003 - Bloc d'interception vide
- ST-DBP-007 - Plusieurs couches de l'organigramme
- ST-DBP-020 - Propriétés de sortie non définies
- 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
- 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
- Flux de contrôle
- 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 de Salesforce
- Automatisation SAP
- Automatisation VMware Horizon
- Journalisation
- Outil ScreenScrapeJavaSupport
- Protocole Webdriver
- Suite de tests - Studio
- Extensions
- 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
- Automatisation des applications exécutées sous un autre utilisateur Windows
- La validation des projets volumineux hérités depuis Windows prend plus de temps que prévu
Guide de l’utilisateur de Studio
Chargement des services Web dans les bibliothèques
Studio peut générer des activités directement à partir des services Web SOAP ou REST, ou des collections Postman via la fenêtre Éditeur de service.
La fenêtre permet de charger automatiquement toutes les méthodes ou tous les points de terminaison dans un service Web donné, que ce soit REST ou SOAP, tant que le lien fourni inclut la définition des services : Swagger ou WSDL.
Une fois chargée, vous sélectionnez à partir de quels points de terminaison ou de quelles méthodes les activités doivent être créées automatiquement. Tous les éléments sélectionnés sont affichés dans le panneau Activités (Activities), sous l'Espace de noms (Namespace) que vous avez fourni dans la fenêtre Éditeur de service (Service Editor).
.nupkg
et de le publier dans Orchestrator ou à un emplacement personnalisé. Par conséquent, vous pouvez partager facilement votre activité récemment définie avec d'autres développeurs avec lesquels vous travaillez.
Suivez les étapes ci-dessous pour générer des activités depuis les services Web :
Pour modifier un service, cliquez simplement avec le bouton droit sur le service dans le panneau Projet (Project), sous Services (Services) et sélectionnez Modifier le service (Edit Service).
project.json
de la bibliothèque active l'option Modifier les services (Edit Services) pour les fichiers .xaml
avec les services Web SOAP ou REST chargés.
project.json
contenant la définition de la bibliothèque, et dans le document du service. Un nœud webServices
est ajouté dans le fichier project.json
, et chaque service est identifié par les éléments suivants :
Paramètre |
Description |
---|---|
|
Nom du service fourni dans la fenêtre Éditeur de service (Service Editor). |
|
Le chemin d'accès au fichier
.json contenant des métadonnées pour le service SOAP ou Swagger. Le fichier est utilisé lorsque le service est réparé, et doit être avec version dans le cadre du projet.
|
|
Chemin d'accès au fichier ou lien vers la ressource Swagger ou SOAP (fourni lors de la création du service dans la fenêtre Éditeur de service (Service Editor)). |
|
Une référence nécessaire au contrôle de version du service. |
Réparation des services
dll
générés à partir de services Web SOAP ou REST ne sont pas transférés vers les référentiels de contrôle de code source. Par conséquent, lors de l'extraction de bibliothèques contenant des services, les projets contiennent des activités non résolues dans le panneau Concepteur (Designer).
.dll
du service, cliquez avec le bouton droit sur le nœud du service dans le panneau Projet (Project) et sélectionnez Réparer le service (Repair Service) dans le menu contextuel.
.json
pour chaque service chargé dans Studio. S'il manque le fichier .json
associé à un service chargé, l'option de menu contextuel Réparer les services du nœud Services vous permet de générer les fichiers .json
manquants à l'aide du lien vers le descripteur de document Web qui a été fourni lors de la création de ce service. Par conséquent, les filtres qui auraient pu être appliqués lors de la première génération du service ne sont plus appliqués et toutes les ressources fournies par le chemin ou le lien susmentionné sont importées.
UiPath.Studio.CommandLine.exe
détaillée sur la page Paramètres de la ligne de commande de la mise à jour groupée (Mass Update Command Line Parameters) ne prend pas les services Web en compte.
Pour appeler plusieurs fois des activités générées à partir de services Web dans une boucle, créez un workflow distinct à partir du fichier de bibliothèque principal et invoquez la méthode de service. Dans le workflow principal, utilisez l'activité Invoke Workflow File à l'intérieur d'une activité For Each, et invoquez le workflow créé précédemment.
Pour plus d’informations sur les activités générées depuis les services Web, consultez la section Activités générées depuis les services Web.
.json
des services Swagger a changé, générant ainsi des problèmes de rétrocompatibilité si et seulement si un service existant est modifié à partir de la fenêtre Éditeur de service.
Dans l’exemple suivant, nous avons illustré le changement en utilisant le service Web de démo Petstore.
Avant studio v2020.4, après avoir ajouté le service à un projet de bibliothèque, et en utilisant le menu contextuel « Parcourir pour les types ... », les espaces de noms suivants se trouvent dans le nom d’assemblage SwaggerPetstore :
UiPath.WebClient._ClientNamespace
, les types suivants peuvent être trouvés :
xaml
d'une bibliothèque Studio, elle aurait fait partie du fichier UiPath.WebClient._ClientNamespace
. Le type _ClientAddPetRequest
a été utilisé pour générer une requête, comme dans l'extrait ci-dessous :
xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore"
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<uw_:AddPetActivity.Request>
<uw_:<em>ClientAddPetRequest Body="{x:Null}" />
</uw</em>:AddPetActivity.Request>
</uw_:AddPetActivity>
</Sequence>
</Activity>
xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore"
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<uw_:AddPetActivity.Request>
<uw_:<em>ClientAddPetRequest Body="{x:Null}" />
</uw</em>:AddPetActivity.Request>
</uw_:AddPetActivity>
</Sequence>
</Activity>
En utilisant Studio v2020.4, l’espace de noms suivant peut être trouvé lors de l’importation du même service Web :
UiPath.WebClient.PetClientNamespace
:
xaml
d'une bibliothèque Studio créée avec v2020.4, il fait partie de UiPath.WebClient.PetClientNamespace
et le type PetClientAddPetRequest
est utilisé pour générer une requête. Il s'agit d'espaces de noms et de types différents de ceux des bibliothèques créées avec des versions antérieures à v2020.4.
Voici un extrait d’une telle bibliothèque créée avec v2020.4:
xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
<uwp:PetClientAddPetRequest Body="{x:Null}" />
</uwp:AddPetActivity.Request>
</uwp:AddPetActivity>
</Sequence>
</Activity>
xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
<uwp:PetClientAddPetRequest Body="{x:Null}" />
</uwp:AddPetActivity.Request>
</uwp:AddPetActivity>
</Sequence>
</Activity>
L'application Postman peut être utilisée pour créer et regrouper des définitions d'API dans des collections, organisant et enchaînant ainsi vos requêtes. Postman prend en charge les scripts pour la transmission de données entre les requêtes API. Consultez la documentation en ligne de Postman pour en savoir plus sur la création d'une collection.
Si vous avez déjà une collection Postman, vous pouvez charger ses demandes dans Studio et générer une activité. La maintenance de la collection se fait dans Postman, et tous les changements sont également exercés dans votre workflow.
Studio reçoit l'accès à une collection Postman via une clé API, qui doit être ajoutée à la fenêtre Éditeur de service , dans le champ Fichier ou Lien. La clé API est une clé à l'échelle du compte générée à partir de la page Paramètres du profil Postman > Clés API et non une clé API générée en partageant une collection. Par conséquent, les modifications des demandes ne sont effectuées que dans Postman et non dans Studio.
- Nodejs et NodeJS CLI, version 6
- Newman version 4.5.5
Il est recommandé de redémarrer votre machine après l’installation de Newman.
get
la valeur d’une certaine devise et l’affiche dans le panneau Sortie de Studio.
Dans cet exemple, nous avons écrit un script de test pour parcourir les données reçues. Nous avons déclaré une variable globale directement dans le script, mais cela peut également être fait avec l'extrait Définir une variable globale (Set a global variable snippet) dans Postman, en savoir plus à ce sujet ici.
EUR
à un argument Out, visible dans la bibliothèque, dans le panneau Propriétés > Entrée > Collection. L’argument Out est visible dans le même panneau, dans la section Sortie.
Les arguments Out des activités sont mappés sur une variable et sa valeur est écrite dans le panneau Sortie.
Utilisez une activité Si (If) pour valider la valeur renvoyée par la variable. Dans cet exemple, nous avons validé que la valeur était renvoyée, puis nous l'avons écrite dans le panneau Sortie (Output).