- Notes de publication
- Démarrage
- Paramétrage et configuration
- Projets d'automatisation
- Dépendances
- Types de workflows
- Comparaison de fichiers
- Meilleures pratiques d'automatisation
- Intégration du contrôle de code source
- Débogage
- 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-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
- Variables
- Arguments
- Noms d'espace importés
- 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
- Citrix Technologies Automation
- 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
- Résolution des problèmes rencontrés avec JxBrowser Applications
- Surveillance des événements utilisateur
- Résolution des problèmes Citrix
- Automatisation des applications exécutées sous un autre utilisateur Windows
Extension pour Java
L'extension Java est compatible avec toutes les versions de JRE, de Java 3 à Java 17.
Lorsqu'il essaie d'indiquer ou de valider des sélecteurs dans une application Java, le robot vérifie si les fichiers d'extension sont chargés dans le processus d'application cible.
Les fichiers peuvent y exister via différents mécanismes :
- en ayant l’extension installée dans le JRE (pour Java 3 à 8) via le mécanisme d’extension.
- en les chargeant à partir d'un dossier personnalisé (pour Java 3 à 17, avec différentes étapes à suivre pour Java 9+)
Si les fichiers d'extension sont absents, un mécanisme d'injection est utilisé pour tenter de démarrer notre pont.
Le programme d'installation de l'extension Java intégré dans Studio (ainsi que l'outil ScreenScrapeJavaSupport) s'appuie sur le mécanisme d'extension pour que l'extension soit chargée par le JRE, de sorte qu'il peut être utilisé pour automatiser les applications basées sur Java en cours d'exécution avec Java 3 à 8.
Depuis Java 9, le mécanisme d'extension est obsolète et le programme d'installation n'est pas en mesure d'ajouter les fichiers nécessaires au JRE. Ces fichiers doivent être chargés à partir d'un dossier personnalisé (plus d'infos ici).
À partir de l’aperçu de la version 22.2.0 du package UIAutomation, avec la prise en charge du mécanisme d’injection par défaut, il n’est plus obligatoire d’installer l’extension pour Java pour automatiser les applications basées sur Java.
You should install the Java extension from Studio or the command line only when the injection mechanism does not work, and when Java applications are using Java 3 to 8. For Java applications using Java 9 or greater, follow the steps described in Installing the extension in a custom folder.
Jusqu’à l’aperçu de la version 22.2.0 de UiPath.UIAutomation.Activities, le mécanisme d’injection ne fonctionnait pas dans tous les cas. Le chargement de l’extension à partir d’un dossier personnalisé était la principale méthode utilisée pour les applications lancées avec Java 9+.
.jnlp
lancées avec des applications tierces, comme OWS ou IcedTea Web.
Le mécanisme d’injection est utilisé par défaut et l’installation de l’extension Java ne doit être utilisée qu’en tant que méthode de sauvegarde.
L'extension UiPath pour Java est installée comme suit :
Depuis Studio
- Fermez les applications Java en cours.
- Ouvrez Studio.
- Accédez à Outils (Tools) > Extensions UiPath (UiPath Extensions).
- Sélectionnez Java > Installer (Install). Un message de confirmation apparaît, vous informant que l'extension a été installée.
À partir de la ligne de commande
C:\Program Files\UiPath\Studio\UiPath\SetupExtensions.exe /Java
dans une fenêtre d'invite de commande avec des droits d'administrateur.
Studio et UI Explorer vous invitent également à installer l'extension UiPath pour Java lorsque vous essayez de sélectionner un contrôle dans une application Java et lorsque le pont n'est pas détecté. Si vous choisissez d'installer l'extension UiPath pour Java lorsque vous y êtes invité par UI Explorer, les fichiers Java Bridge ne seront déployés que dans le répertoire JRE qui a lancé l'application Java cible au lieu du répertoire JDK.
Pour vérifier si l'extension présente des dysfonctionnements, ouvrez UIExplorer et essayez de sélectionner les contrôles dans une application Java. Si la fenêtre entière est sélectionnée, cela signifie que l'extension ne fonctionne pas correctement.
Vous pouvez savoir si l'extension est correctement installée ou non par les sélecteurs générés pour les contrôles Java.
- Sélecteur non valide pour les contrôles Java :
<wnd app=”...” /><java role=”...” />
- Sélecteur non valide pour les contrôles Java :
<wnd app=”...” /><ctrl role=”client” />
cls
(nom de la classe de fenêtre) dans UI Explorer. Le nom de la classe doit être similaire à SunAwtFrame
ou javax.swing
.
Les processus peuvent interagir avec les applications Java quelle que soit leur échelle DPI.
Vous pouvez également installer l'extension UiPath pour Java à l'aide de l'outil ScreenScrapeJavaSupport.
Pour que l'extension UiPath pour Java soit installée dans un emplacement personnalisé, effectuez les étapes suivantes :
-
Créez un dossier sur la machine sur laquelle vous souhaitez installer l'extension UiPath pour Java (par exemple,
C:\UiPathJavaExt
) et copiez les fichiers suivants :UiPathBridge.jar
- situé dans le répertoire%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport
.UiPathJavaBridgeV8.dll
etUiPathJavaBridgeV8_x64.dll
situés dans le répertoire%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath
. Il n'est pas nécessaire de copier les deux fichiers, mais cela peut éviter les problèmes qui peuvent survenir en raison d'une mauvaise concordance des versions entre le JRE et le UiPathJavaBridge.
-
Le mécanisme d’installation de l’extension Java utilisé par UiPath pour installer l’extension déploie les fichiers
UiPathBridge.jar
etaccessibility.properties
dans le répertoire d’installation Java (généralementC:\Program Files (x86)\Java\jre1.8.0_xx
). Pour que l’extension UiPath pour Java puisse être utilisée depuis un dossier personnalisé, la dépendance de ces fichiers doit être assouplie, comme suit :- Pour le fichier
UiPathBridge.jar
, vous devez spécifier le dossier dans lequel vous avez copiéUiPathBridge.jar
etUiPathJavaBridgev8.dll
(tel queC:\UiPathJavaExt
) lorsque vous démarrez l'application Java qui utilise l'extension. Cela se fait via l’argument-Djava.ext.dirs = C:\UiPathJavaExt
. -
Pour le fichier
accessibility.properties
, il existe deux méthodes :- Ajouter le paramètre
assistive_technologies=UiPath.UiPathBridge
au fichier de configuration globaleaccessibility.properties
situé dans le répertoire%userprofile%
. Notez que ce fichier est différent de celui déployé par l'extension UiPath pour Java, et que ses paramètres ont la priorité sur ceux définis par l'installation de Java. - Utiliser l'argument
-Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
lorsque vous exécutez l'application Java cible.
- Ajouter le paramètre
- Pour le fichier
Les propriétés du système doivent être correctement transmises à l'application Java cible par l'un des moyens suivants :
- Inclure la propriété système
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
dans la variable d'environnement_JAVA_OPTIONS
. Le JRE charge les propriétés de la variable d'environnement ainsi que l'extension UiPath pour Java chargée dans l'application cible. - Utiliser la commande
C:\Program Files (x86)\Java\jre1.8.0_xx\bin\java.exe -Djavax.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge -jar SwingSet2.jar
dans l'invite de commande. Un message de confirmation apparaît indiquant que l'extension UiPath pour Java a été chargée avec succès. - Inclure la propriété du système
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
dans la variable d'environnementJAVA_TOOL_OPTIONS
. Notez que cette méthode ne fonctionne qu'avec Java 5 ou supérieur.
La transmission des propriétés à une applet Java se fait par l'un des moyens suivants :
-
À l'aide de l’application
appletviewer.exe
.Cette méthode vous oblige à d’abord créer le fichier.java.policy
dans le dossier%userprofile%
et doit contenir les éléments suivants :grant { permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; };
grant { permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; };Une fois cette opération effectuée, l'applet cible doit être démarrée viaappletviewer.exe
avec cette commande :C:\Program Files (x86)\Java\jre1.8.0_xx\bin\appletviewer.exe -J-Djava.ext.dirs=C:\UiPathJavaExt -J-Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge url_of_the_java_applet
-
À l'aide du panneau de contrôle Java livré avec le JRE.
Le panneau de configuration Java vous permet de spécifier les paramètres d'exécution de chaque JRE enregistré. En tant que tel, vous devez spécifier le
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
paramètre de l'applet cible. Cela permet à l'extension UiPath pour Java de se charger à chaque démarrage de l'applet Java.
Le tableau ci-dessous présente la compatibilité des méthodes utilisées ci-dessus, les versions Java et les différents types d'applications Java :
Type de demande (Application Type) |
_JAVA_OPTIONS |
JAVA_TOOL_OPTIONS |
Paramètres de la ligne de commande |
Panneau de configuration Java - Paramètres d'exécution (Java Control Panel - Runtime Parameters) |
---|---|---|---|---|
Application Java Desktop |
Java 3 à Java 8 |
Java 5 à Java 8 |
Java 3 à Java 8 |
Non soutenu |
Application contenue dans Java (
.exe )
|
Java 3 à Java 8 |
Java 5 à Java 8 |
Java 3 à Java 8 (
1 )
|
Non soutenu |
Java Applet |
Java 3 à Java 8 |
Java 5 à Java 8 |
Non soutenu |
Java 3 à Java 8 |
Java Oracle Forms |
Non soutenu |
Non soutenu |
Non soutenu |
Non soutenu |
1
) – selon l'outil de ligne de commande que vous utilisez, des paramètres supplémentaires peuvent devoir être passés par les variables d'environnement.
-Djava.ext.dirs
ne peut pas être utilisé sur les applications Java 9 et supérieures.
L'idée principale derrière le chargement de l'extension peut être divisée en 3 exigences :
- Ajoutez le
UiPathBridge.jar
et leUiPathServiceProvider.jar
au chemin de classe de l'application. -
Rendez
UiPathJavaBridgeV8.dll
etUiPathJavaBridgeV8_x64
visibles pourUiPathBrdige.jar
. Cela peut être fait de différentes façons :- placez les fichiers dans le même dossier avec
UiPathBridge.jar
; - placez les fichiers dans le dossier situé au-dessus de
UiPathBridge.jar
; -
ajoutez les deux fichiers à un dossier et référencez son chemin via une variable d'environnement appelée
UIPATH_JB_PATH
;Il n'est pas nécessaire de référencer les deux fichiers, mais cela peut prévenir les problèmes qui peuvent survenir en raison d'une mauvaise concordance de versions entre le JRE et le pont Java UiPath.
- placez les fichiers dans le même dossier avec
- Configurez l'application pour charger la technologie d'assistance. Cela se fait via le fichier
accessibility.properties
placé à l'intérieur des JRE.Remarque : le fichierUiPathJavaServiceProvider.jar
est disponible dans les derniers packages UiPath.UIAutomation.Activities (plus récents que 21.2-preview). Si vous utilisez une version antérieure de UIAutomation, le fichier peut être obtenu en mettant temporairement à niveau un fichier de workflow vide vers 21.2-preview. Cela entraîne la décompression d'une version plus récente du packageUiPath.nuget
sur la machine de l'utilisateur (%UserProfile%\.nuget\packages\uipath
). Après avoir obtenu le fichier, le package peut être rétrogradé vers la version utilisée avant la mise à niveau.
Le respect des exigences listées ci-dessus dépend directement de la manière dont l'application Java est démarrée. Il existe 3 manières courantes de démarrer l'application et de charger l'extension.
Applications démarrées à partir de .jar
, .bat
ou de fichiers .ps1
.jar
: java -jar SwingSet2.jar
Les étapes suivantes doivent être suivies :
- Créez un dossier sur la machine sur laquelle vous souhaitez installer l'extension UiPath pour Java (par exemple,
C:\UiPathJavaExt
) et copiez les fichiers suivants :UiPathBridge.jar
etUiPathJavaServiceProvider.jar
- situés dans le répertoire%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport
.UiPathJavaBridgeV8.dll
etUiPathJavaBridgeV8_x64.dll
- situés dans le répertoire%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath
.
- Ajouter le dossier créé précédemment au chemin de classe de l'application Java cible. Cette opération se réalise à l'aide de la commande
-cp, -classpath
. Pour cet exemple, nous considéronsSwingSet2
l'application Java cible :C:\Program Files (x86)\Java\jre1.9.0_xx \bin\java.exe -cp SwingSet2.jar;C:\UiPathJavaExt\* -Djavax.accessibility.assistive_technologies=UiPathJavaServiceProvider SwingSet2
.bat
ou .ps1
, alors le fichier doit être analysé avec un éditeur de texte. Le fichier qui démarre l'application contient une ligne similaire à la commande java -jar SwingSet2.jar
, mais comprend également de nombreux autres paramètres. La commande peut être modifiée pour inclure les fichiers dans le chemin de classe et pour spécifier le paramètre de technologie d'assistance. Les modifications à l'intérieur de ces fichiers doivent être effectuées avec prudence. Dans certains cas, le chemin de classe et les paramètres supplémentaires sont choisis à partir de variables d'environnement, ce qui est une méthode moins invasive.
Applications démarrées à partir de fichiers .exe
exe
, vous devez trouver un autre moyen de charger les fichiers dans le chemin de classe et de spécifier le paramètre de technologie d'assistance.
- Pour charger les fichiers à partir du chemin de classe, vous pouvez rechercher des variables d'environnement que l'exécutable lit ou des fichiers de configuration qui spécifient où les dépendances sont chargées. Il n'y a rien de standard ici, et cela dépend beaucoup du niveau de personnalisation de l'exécutable.
- La technologie d'assistance peut être spécifiée dans ce cas d'une manière similaire à celle utilisée par l'installateur de l'extension. Le fichier
accessibility.properties
standard peut être déplacé vers le dossier%UserProfile%
et être renommé.accessbility.properties
.
Applications démarrées à partir de fichiers .jnlp
.jnlp
se fait par défaut en raison d'une mise à niveau du mécanisme d'injectionexistant.
La mise à l'échelle est entièrement prise en charge pour les applications Java 9+ via des paramètres. Pensez à ajouter les paramètres suivants à l'application Java que vous souhaitez automatiser afin d'activer la prise en charge de la mise à l'échelle :
sun.java2d.uiScale.enabled
: lorsqu'il n'est pas utilisé ou défini sur la valeur de chaîne exacte « true », il est considéré comme vrai et la configuration de mise à l'échelle suivante est prise en compte. Lorsqu'il est défini sur n'importe quelle autre valeur que « true » (par exemple, True, false, False, abc), il est alors considéré comme faux et aucun ajustement de mise à l'échelle supplémentaire n'est effectué.-
sun.java2d.uiScale
: les valeurs peuvent être transmises sous trois formes :- En tant que ratio (0,5, 2,3, 1,5)
- En pourcentages (100 %, 150 %)
- Valeurs dpi (96 dpi, 120 dpi). Il est pris en compte si la mise à l’échelle est activée. Il modifie la mise à l’échelle sur les deux axes.
sun.java2d.win.uiScaleX, sun.java2d.win.uiScaleY
Les valeurs peuvent être transmises comme pour le paramètresun.java2d.uiScale
. Les deux doivent être pris en compte par l'application Java. Ils sont plus spécifiques que la configuration générale de la mise à l'échelle. Ainsi, si les 3 paramètres sont définis, seuls ceux-ci sont pris en compte.
- Versions prises en charge
- Mécanisme d'injection
- Installing the extension in the JRE from Studio or the command line
- Pour Java 8 ou version antérieure
- Pour Java 9 ou version ultérieure
- Installing the extension in a custom folder
- Pour Java 8 ou version antérieure
- Pour Java 9 ou version ultérieure
- Prise en charge de la mise à l'échelle des applications