- 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
Demander un prêt auprès de UiBank
Ce tutoriel montre comment créer un cas de test codé (applyForLoan.cs) pour vérifier si le taux de prêt calculé par l'application UiBank correspond à votre propre calcul. Le cas de test fait référence à un fichier source codé (LoanApplication.cs), contenant une classe avec les méthodes GET et SET utilisées pour générer des données de test.
Prérequis
- UiAutomation.Activities 23.10 et versions ultérieures
- Testing.Activities 23.10 et versions ultérieures
- System.Activities 23.10 et versions ultérieures
- UiBank.
Créez un fichier source du code
- Créez une classe appelée
LoanApplication. - Créez un objet public pour chaque champ du formulaire de demande de prêt et utilisez les méthodes GET et SET pour chacun d’eux. Ultérieurement, affectez des valeurs aux objets à l'aide de valeurs prédéfinies ou d'API d'automatisation codée telles que RandomString ou RandomNumber.
public class LoanApplication { public string email {get;set;} public int income {get;set;} public int loanAmount {get;set;} public int loanTerm {get;set;} public int age {get;set;} public int expectedLoanRate {get;set;} }public class LoanApplication { public string email {get;set;} public int income {get;set;} public int loanAmount {get;set;} public int loanTerm {get;set;} public int age {get;set;} public int expectedLoanRate {get;set;} }

Créer un cas de test codé
- Créez un nouveau cas de test codé (groupe Fichier (File) > Nouveau (New) > as de test codé (Coded test case)) et nommez-le applyForLoan.
- Référencez le fichier source codé que vous avez créé précédemment dans votre cas de test codé pour générer des données.
private LoanApplication myLoanApplication;private LoanApplication myLoanApplication; - À l'intérieur de la classe publique du cas de test codé (applyForLoan), mais en dehors de la méthode Exécuter (Execute), créez une autre méthode appelée InitialiserDonnéesTest (InitializeTestData). Ici, vous définissez les valeurs de chaque champ du formulaire de demande de prêt.
public void InitializeTestData() { myLoanApplication = new LoanApplication(); myLoanApplication.age = 42; myLoanApplication.email = "john.doe@uipath.com"; myLoanApplication.income = 30000; myLoanApplication.loanAmount = decimal.ToInt32(testing.RandomNumber(20000,30000,0)); myLoanApplication.loanTerm = 5; myLoanApplication.expectedLoanRate = 8; }public void InitializeTestData() { myLoanApplication = new LoanApplication(); myLoanApplication.age = 42; myLoanApplication.email = "john.doe@uipath.com"; myLoanApplication.income = 30000; myLoanApplication.loanAmount = decimal.ToInt32(testing.RandomNumber(20000,30000,0)); myLoanApplication.loanTerm = 5; myLoanApplication.expectedLoanRate = 8; }

-
Dans la section Organisation (Arrange), initialisez les données de test pour votre cas de test.
InitializeTestData();InitializeTestData(); -
Capturez tous les éléments d'IU que vous souhaitez utiliser dans votre cas de test codé à l'intérieur du référentiel d'objets.

-
Accédez à tous les éléments d'IU dans l'application et commencez à automatiser. Ouvrez l’application UiBank et choisissez de demander un prêt.
var homeScreen = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.HomeScreen); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Products); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Loans); var applyForLoanScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.ApplyForLoan); applyForLoanScreen.Click(ObjectRepository.Descriptors.UiBank.ApplyForLoan.ApplyForALoan);var homeScreen = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.HomeScreen); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Products); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Loans); var applyForLoanScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.ApplyForLoan); applyForLoanScreen.Click(ObjectRepository.Descriptors.UiBank.ApplyForLoan.ApplyForALoan);
7. Remplissez le formulaire Demande de prêt avec les données de test que vous avez précédemment initialisées.
var loanApplicationForm = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.LoanApplication);
loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.EmailAddress, myLoanApplication.email);
loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanAmountRequested, myLoanApplication.loanAmount.ToString());
loanApplicationForm.SelectItem(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanTerm, "5");
Log(loanApplicationForm.ToString());
loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.CurrentYearlyIncome,"30000");
loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.Age, myLoanApplication.age.ToString());
var loanApplicationForm = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.LoanApplication);
loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.EmailAddress, myLoanApplication.email);
loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanAmountRequested, myLoanApplication.loanAmount.ToString());
loanApplicationForm.SelectItem(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanTerm, "5");
Log(loanApplicationForm.ToString());
loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.CurrentYearlyIncome,"30000");
loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.Age, myLoanApplication.age.ToString());
8. Dans la section Agir, ajoutez l'action consistant à sélectionner le bouton Soumettre.
loanApplicationForm.Click(ObjectRepository.Descriptors.UiBank.LoanApplication.SubmitLoanApplication);
loanApplicationForm.Click(ObjectRepository.Descriptors.UiBank.LoanApplication.SubmitLoanApplication);
- Dans la section Assertion (Assert), récupérez le taux d'emprunt que l'application a calculé et vérifiez s'il correspond au taux d'emprunt que vous avez estimé dans la méthode InitialiserDonnéesTest (InitializeTestData).
var loanResultsScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.LoanResults); var actualLoanRate = loanResultsScreen.GetText(ObjectRepository.Descriptors.UiBank.LoanResults.LoanRate); testing.VerifyExpression(actualLoanRate == myLoanApplication.expectedLoanRate.ToString(),"The expected and actual loan rates are equal.",true, "Verify Expression", true, false);var loanResultsScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.LoanResults); var actualLoanRate = loanResultsScreen.GetText(ObjectRepository.Descriptors.UiBank.LoanResults.LoanRate); testing.VerifyExpression(actualLoanRate == myLoanApplication.expectedLoanRate.ToString(),"The expected and actual loan rates are equal.",true, "Verify Expression", true, false);

Exemple de projet
Pour suivre les étapes et essayer vous-même le tutoriel, consultez l’exemple de projet suivant : Demander un prêt avec UiBank (Apply for a loan with UiBank).