studio
2024.10
true
UiPath logo, featuring letters U and I in white
Guide de l’utilisateur de Studio
Last updated 4 nov. 2024

Cas de test codé

Les cas de test codés automatisent et valident le comportement de l'application de manière structurée. Ils sont similaires aux cas de test low-code et permettent une automatisation flexible en utilisant du code.

Lorsque vous créez un cas de test codé, vous définissez une structure Étant Donné-Quand-Alors (Given-When-Then). Cette structure comporte trois phases :
  1. Organisation (Arrange) : la phase d'organisation prépare l'application.
  2. Action (Act) : la phase d'action effectue des actions spécifiques.
  3. Assertion (Assert) : la phase d'assertion vérifie les résultats attendus.

Les cas de test codés peuvent également appeler d'autres workflows ou cas de test low-code, permettant la réutilisation du code. Cette intégration permet la création de scénarios de test flexibles.

Vous pouvez également appliquer des modèles d'exécution pour les cas de test codés. Consultez Modèles d'exécution pour savoir comment utiliser les modèles d'exécution.



Structure

Les automatisations codées présentent une conception structurée avec des espaces de noms, des classes d'aide et des méthodes de point d'entrée. La structure des automatisations codées vous permet d’écrire les automatisations à l’aide du langage de programmation C#.

Suivez la structure détaillée d'une automatisation codée tel que décrit dans les sections suivantes.

Lorsque vous créez une automatisation codée, un espace de noms est automatiquement généré à l'aide du nom du projet Studio. Par exemple, si votre projet Studio se nomme « Mon projet » (My project), l'espace de noms de toutes les automatisations codées sera « Monprojet » (Myproject).

De plus, si vous créez une automatisation codée dans un dossier de votre projet Studio, l'espace de noms correspondra au nom du projet et du dossier. Par exemple, si votre projet Studio s'appelle « Mon projet » (My project) et que le dossier se nomme « place », l'espace de noms sera « Monprojet.place » (Myproject.place).

Les automatisations de workflow codé et de cas de test codé utilisent la classe partielle CodedWorkflow du package UiPath.CodedWorkflows. Cette classe permet à l’automatisation d’accéder aux interfaces nécessaires pour les services (équivalent aux packages d’activités), en fonction des packages d’activités installés dans votre projet.
Remarque : le package UiPath.CodedWorkflows est automatiquement inclus lorsque vous importez un package d'activités qui prend en charge les automatisations codées, telle que UiPath.System.Activities 23.10 ou version ultérieure.

Workflow codé

Les automatisations codées héritent de la classe partielle CodedWorkflow, créant ainsi une relation de type CodedAutomationExample : CodedWorkflow. Cela signifie que la classe CodedAutomationExample hérite des attributs, des méthodes et des fonctionnalités de la classe CodedWorkflow. Elle peut principalement accéder et utiliser les fonctionnalités définies dans la classe CodedWorkflow, qui fournit une base de l'automatisation codée, ce qui facilite l'élaboration et la personnalisation du comportement de l'automatisation.
La classe CodedWorkflow est déclarée comme classe partielle, ce qui vous permet d'étendre ses fonctionnalités en définissant la même classe partielle CodedWorkflow dans un fichier source du code. De cette façon, vous pouvez ajouter de nouveaux champs et de nouvelles méthodes pour personnaliser davantage le comportement de vos automatisations codées. Vous pouvez utiliser cette approche pour implémenter une interface Avant
De plus, la classe partielle CodedWorkflow hérite de la classe CodedWorkflowBase.


CodedWorkflowBase

La classe CodedWorkflowBase contient les fonctionnalités intégrées héritées par une automatisation codée. Cette classe contient des méthodes et des propriétés spécifiques pour la gestion des instances de workflow, l'accès au runtime, la gestion des conteneurs de services et la configuration des contextes d'environnement. La classe CodedWorkflowBase offre également une autre méthode distincte de journalisation que vous pouvez personnaliser vous-même.
Remarque : Dans les Paramètres de l’éditeur de code, sélectionnez Activer la décompilation source (Enable Source Decompilation) pour afficher la classe CodedWorkflowBase.
Consultez les méthodes CodedWorkflowBase dans le tableau ci-dessous :
MethodDescription
ICodedWorkflowServices services
Remarque : nous vous recommandons d’utiliser les méthodes Log, BuildClient et RunWorkflow via la classe services et leurs services correspondants, au lieu de les utiliser en tant que méthodes autonomes et facilement disponibles.
Permet d’accéder aux services disponibles pour les workflows codés, tels que :
  • OutputLoggerService : vous permet de générer des journaux à l’aide de la méthode Log.
  • OrchestratorClientService (méthode BuildClient) : permet d’activer l’interaction avec Orchestrator via la méthode BuildClient.
  • WorkflowInvocationService : vous permet d’invoquer d’autres workflows en utilisant la méthode RunWorkflow.
  • Container : le conteneur dans lequel tous les services sont stockés. Il vous permet de gérer les ressources pour les workflows codés en prenant en charge l’importation automatique d’espaces de noms et de types, à l’aide des méthodes AutoImportedNamespaces et AutoImportedTypes. De plus, il fournit une instance d’un service spécifique à l’aide de la méthode Resolve.
serviceContainer(ICodedWorkflowServiceContainer)
Remarque : cette syntaxe a été remplacée par ICodedWorkflowServices services . Si vous continuez d’utiliser cette syntaxe, un avertissement vous invite à utiliser la nouvelle syntaxe services.Container.
Permet d'accéder au conteneur d'injection de dépendance spécifique au workflow codé actuel. Ce conteneur, appelé conteneur de service, vous permet de récupérer les instances de services qui y ont été enregistrées.
GetRunningJobInformation()Récupère des informations sur la tâche en cours d'exécution dans le contexte du workflow codé. La méthode accède à la propriété RunningJobInformation de l'objet executorRuntime , qui contient des informations sur le statut, la progression, les paramètres et les horodatages de la tâche.
Log(string message, LogLevel level = LogLevel.Info, IDictionary<string, object>additionalLogFields = null)Ajoute des champs de journal supplémentaires pour consigner les messages avec les attributs spécifiés.
RunWorkflow(string workflowFilePath,IDictionary<string, object> inputArguments = null,TimeSpan? timeout = null, bool isolated = false, InvokeTargetSession targetSession = InvokeTargetSession.Current)Fournit une structure pour exécuter un workflow dans le contexte d'un runtime de workflow donné. Elle peut définir les paramètres, gérer l'isolement potentiel et lancer l'exécution du workflow. La tâche renvoyée fournit les résultats du workflow exécuté, y compris ses arguments de sortie et d'entrée/de sortie.
RunWorkflowAsync(string workflowFilePath,IDictionary<string, object> inputArguments = null, TimeSpan?timeout = null, bool isolated = false, InvokeTargetSession targetSession = InvokeTargetSession.Current)Fournit une structure pour exécuter un workflow de manière asynchrone dans le contexte d'un runtime de workflow donné. Elle peut définir les paramètres, gérer l'isolement potentiel et lancer l'exécution du workflow. La tâche renvoyée fournit les résultats du workflow exécuté, y compris ses arguments de sortie et d'entrée/de sortie.
DelayAsync(TimeSpan time) et DelayAsync(int delayMs)Suspend l'exécution de manière asynchrone pendant une période spécifiée.
Delay(TimeSpan time) et Delay(int delayMs)Suspend l'exécution pendant une période spécifiée.
HttpClient BuildClient(string scope = "Orchestrator", bool force = true)Génère un client HTTP avec une étendue et un jeton d'accès spécifiés.
RegisterServices(ICodedWorkflowsServiceLocator serviceLocator)Enregistre les services (packages d'activités) dans le localisateur de services du workflow codé. Vous pouvez contourner cette opération lorsque vous souhaitez injecter des services personnalisés dans le conteneur d'injection de dépendance. Pour savoir comment créer et utiliser des services personnalisés (packages d'activités codées); cliquez ici.
La méthode de point d'entrée pour les workflows codés et les cas de test codés est nommée Execute() et est attribuée sous la forme Workflow ou TestCase. Vous pouvez modifier le nom de la méthode, tant que vous l'attribuez à Workflow ou TestCase.
Vous ne pouvez utiliser qu'une seule méthode Execute() ([TestCase] ou [Workflow]) dans un fichier, qui hérite de la classe Coded Workflow.

Dans cette méthode, vous pouvez ajouter des arguments d'entrée et/ou de sortie, qui sont équivalents aux arguments In, Out ou In/Out dans les automatisations low-code. Suivez le didacticiel Utilisation d'arguments d'entrée et de sortie pour apprendre à utiliser des arguments dans des automatisations codées.

Cette méthode de point d'entrée sert de point de départ à l'exécution des automatisations. Cela rend les workflows et les cas de test codés faciles à identifier comme points d'entrée en raison de leur méthode Execute().


Compatibilité du projet

Vous pouvez utiliser les automatisations codées uniquement dans les projets Windows et multiplate-forme.

  • Structure
  • Workflow codé
  • CodedWorkflowBase
  • Compatibilité du projet

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.