- Notas relacionadas
- Primeros pasos
- Instalación y configuración
- Proyectos de automatización
- Acerca de los proyectos de automatización
- Acerca de la publicación de proyectos de automatización
- Gestionar paquetes de actividades
- Configuración de los Ajustes del Proyecto de Actividades
- Firma de paquetes
- Control
- Importar entidades
- Experiencia de diseño moderna
- Vincular un proyecto a una idea en Automation Hub
- Dependencias
- Tipos de flujos de trabajo
- Comparación de archivos
- Mejores prácticas de automatización
- Integración del control de código fuente
- Depuración
- La herramienta de diagnóstico
- Analizador de flujo de trabajo
- Acerca del analizador de flujo de trabajo
- ST-NMG-001: convención sobre nombres de variables
- ST-NMG-002: convención de nombres de argumentos
- ST-NMG-004: duplicación de nombres de visualización
- ST-NMG-005: anulación de variables
- ST-NMG-006: argumentos de anulación de variables
- ST-NMG-008: longitud variable excedida
- ST-NMG-009: variables de datos prefijados
- ST-NMG-011: argumentos de prefijo Datatable
- ST-NMG-012: valores predeterminados de los argumentos
- ST-NMG-016: longitud del argumento excedida
- ST-DBP-002: recuento de Argumentos elevado
- ST-DBP-003: bloque de Catch vacío
- ST-DBP-007: múltiples capas de diagramas de flujo
- ST-DBP-020: propiedades de salida no definidas
- ST-DBP-023: flujo de trabajo vacío
- ST-DBP-024: comprobación de actividad de persistencia
- ST-DBP-025: requisito previo para la serialización de variables
- ST-DBP-026: retraso en el uso de la actividad
- ST-DBP-027: mejor práctica de persistencia
- ST-DBP-028: requisito de serialización de argumentos
- ST-USG-005: argumentos de actividad codificados
- ST-USG-009: variables no utilizadas
- ST-USG-010: dependencias sin utilizar
- ST-USG-014: restricciones de los paquetes
- ST-USG-020: mensajes de registro mínimos
- ST-USG-024: guardado sin usar para más adelante
- ST-USG-025: uso incorrecto de los valores guardados
- ST-USG-026: restricciones de actividad
- ST-USG-027: paquetes necesarios
- ST-USG-028: Restringir la invocación de plantillas de archivo
- Variables
- Argumentos
- Espacios de nombres importados
- Grabación
- Elementos de la IU
- Flujo de control
- Selectores
- Repo. de objetos
- Extracción de datos
- Automatización de imágenes y texto
- Acerca de la automatización de imágenes y texto
- Actividades con el ratón y el teclado
- Ejemplo de uso de la automatización de ratón y teclado
- Actividades de texto
- Ejemplo de uso de la automatización de texto
- Actividades de OCR
- Actividades de imagen
- Ejemplo de uso de la automatización de OCR y la automatización de imágenes
- Automatizar las tecnologías de Citrix
- Automatización RDP
- Automatización de Salesforce
- Automatización SAP
- Automatización de VMware Horizon
- Registro
- La herramienta ScreenScrapeJavaSupport
- El protocolo WebDriver
- Conjunto de pruebas - Estudio
- Extensiones
- Solución de problemas
- Acerca de la resolución de problemas
- Compatibilidad y limitaciones de Microsoft App-V
- Solución de problemas de Internet Explorer x64
- Problemas de Microsoft Office
- Identificación de elementos de la interfaz de usuario en PDF con opciones de accesibilidad
- Solución de problemas de aplicaciones de JxBrowser
- Supervisión de eventos de usuario
- Solución de problemas de Citrix
Extensión para Java
Actualmente, la extensión de Java es compatible con cualquier versión de JRE, desde Java 3 a Java 15.
La extensión UiPath para Java se instala llevando a cabo la siguiente acción:
- En primer lugar, cierra cualquier aplicación Java. Inicia Studio y accede a la pestaña Herramientas desde la vista Backstage de Studio. Las extensiones que puedes instalar se vuelven visibles. Haz clic en el botón Extensiones de Java. Aparecerá así un mensaje de confirmación, informándote de que la extensión se ha instalado.
- Ejecuta este comando
C:\Program Files\UiPath\Studio\UiPath\SetupExtensions.exe /Java
en una ventana de símbolo de comandos con derechos de administrador.
Studio y UI Explorer también solicitan instalar la extensión UiPath para Java cuando intentas seleccionar un control dentro de una aplicación Java y cuando el puente no se detecta. Ten en cuenta que, si decides instalar la extensión UiPath para Java cuando UI Explorer te lo pide, los archivos de Java Bridge solo se implementarán en el directorio JRE que inició la aplicación Java de destino en lugar de en el directorio JDK.
Para comprobar si la extensión funciona correctamente, abre UIExplorer e intenta seleccionar controles dentro de una aplicación Java. Si se selecciona la ventana completa, significará que la extensión no funciona correctamente.
- Selector válido para controles Java:
<wnd app=”...” /><java role=”...” />
- Selector no válido para controles de Java:
<wnd app=”...” /><ctrl role=”client” />
cls
(nombre de la clase de la ventana) en UI Explorer.El nombre de la clase debería parecerse a SunAwtFrame
o a javax.swing
.
Los procesos pueden interactuar con las aplicaciones Java independientemente de su escala de DPI.
También se puede instalar la extensión UiPath para Java utilizando la herramienta ScreenScrapeJavaSupport.
El instalador de la extensión de Java incrustado en Studio (y también ScreenScrapeJavaSupport) depende de que la extensión del mecanismo de extensiones sea cargada por el JRE. A partir de Java 9, el mecanismo de extensiones ha quedado obsoleto, y el instalador no puede añadir los archivos necesarios a JRE (más información aquí).
Por lo tanto, si se está utilizando Java 9 o versiones posteriores, se deberán seguir los pasos descritos aquí.
Para que la extensión UiPath para Java se instale en una ubicación personalizada, se deben seguir los siguientes pasos:
- Crea una nueva carpeta en tu equipo en la que quieras instalar la extensión UiPath para Java (como
C:\UiPathJavaExt
) y copia los siguientes archivos en ella:UiPathBridge.jar
: ubicado en el directorio%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport
.UiPathJavaBridgeV8.dll
yUiPathJavaBridgeV8_x64.dll
ubicados en el directorio%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath
. No es necesario copiar ambos archivos, pero puede evitar problemas que se pueden producir debido a la falta de compatibilidad de las versiones entre JRE y UiPath Java Bridge.
- El mecanismo de configuración de la extensión de Java que utiliza UiPath para instalar la extensión implementa los archivos
UiPathBridge.jar
yaccessibility.properties
en el directorio de instalación (normalmenteC:\Program Files (x86)\Java\jre1.8.0_xx
). Para utilizar la extensión UiPath para Java desde una carpeta personalizada, la dependencia de estos archivos debe deshacerse de la siguiente manera:- Para el archivo
UiPathBridge.jar
, deberás especificar la carpeta en la que copiasteUiPathBridge.jar
yUiPathJavaBridgev8.dll
(comoC:\UiPathJavaExt
) cuando inicies la aplicación Java que utiliza la extensión. Esta acción se lleva a cabo mediante el argumento-Djava.ext.dirs = C:\UiPathJavaExt
. - Para el archivo
accessibility.properties
, hay dos métodos:- Añade el parámetro
assistive_technologies=UiPath.UiPathBridge
al archivo de configuración globalaccessibility.properties
ubicado en el directorio%userprofile%
. Ten en cuenta que este archivo es diferente al que implementa la extensión UiPath para Java, y que su configuración tiene prioridad sobre la que establece la instalación de Java. - Utiliza el argumento
-Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
al ejecutar la aplicación Java de destino.
- Añade el parámetro
- Para el archivo
Las propiedades del sistema deben trasladarse correctamente a la aplicación Java de destino. Esta acción puede llevarse a cabo mediante varios métodos:
- Incluye la propiedad del sistema
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
en la variable de entorno_JAVA_OPTIONS
. El JRE carga las propiedades desde la variable de entorno y la extensión UiPath para Java cargada en la aplicación de destino. - Utiliza el comando
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
dentro del símbolo del sistema. Aparecerá así un mensaje de confirmación indicando que la extensión UiPath para Java se ha cargado correctamente. - Incluye la propiedad del sistema
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
en la variable de entornoJAVA_TOOL_OPTIONS
. Ten en cuenta que este método solo funciona con Java 5 o posteriores.
El traslado de las propiedades a un applet Java se lleva a cabo con uno de los siguientes métodos:
- Utilizando la
appletviewer.exe
aplicación.Este método requiere que primero crees el archivo.java.policy
en la carpeta%userprofile%
, además de contener lo siguiente:grant { permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; };
grant { permission java.net.URLPermission "url_of_the_Java_applet", "<em>:</em>"; };Una vez terminado, el applet de destino debe iniciarse a través deappletviewer.exe
con este comando: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
- Utilizando el panel de control de Java que se entrega con JRE.
El panel de control de Java te permite especificar los parámetros de tiempo de ejecución para cada JRE registrado. Por tanto, debes especificar el
-Djava.ext.dirs=C:\UiPathJavaExt -Djavax.accessibility.assistive_technologies=UiPath.UiPathBridge
parámetro para el applet de destino. Esto hace que la extensión UiPath para Java se cargue cada vez que se inicia el applet de Java.
La siguiente tabla presenta la compatibilidad entre los métodos utilizados anteriormente, las versiones Java y los diferentes tipos de aplicaciones Java:
Tipo de aplicación |
_JAVA_OPTIONS |
JAVA_TOOL_OPTIONS |
Parámetros de la línea de comandos |
Panel de control de Java: parámetros del entorno de tiempo de ejecución |
---|---|---|---|---|
Aplicación de escritorio de Java |
Java 3 a Java 8 |
Java 5 a Java 8 |
Java 3 a Java 8 |
No compatible |
Aplicación con contenido en Java (
.exe )
|
Java 3 a Java 8 |
Java 5 a Java 8 |
Java 3 a Java 8 (
1 )
|
No compatible |
Applet Java |
Java 3 a Java 8 |
Java 5 a Java 8 |
No compatible |
Java 3 a Java 8 |
Java Oracle Forms |
No compatible |
No compatible |
No compatible |
No compatible |
1
): dependiendo de la herramienta de la línea de comandos que utilices, es posible que tengas que traspasar parámetros adicionales por las variables del entorno.
-Djava.ext.dirs
no se puede utilizar en Java 9 o en versiones posteriores.
La idea principal de la carga de la extensión puede dividirse en 3 requisitos:
- Añade
UiPathBridge.jar
yUiPathServiceProvider.jar
al classpath de la aplicación. -
Convierte
UiPathJavaBridgeV8.dll
yUiPathJavaBridgeV8_x64
en visibles paraUiPathBrdige.jar
. Esto se puede hacer de varias formas:- Situar los archivos en la misma carpeta, con
UiPathBridge.jar
. - Situar los archivos en la carpeta
UiPathBridge.jar
. - Añadir los dos archivos a una carpeta y hacer referencia a su ruta mediante una variable de entorno llamada
UIPATH_JB_PATH
.no es necesario hacer referencia a ambos archivos, pero puede evitar que ocurran problemas debido a la no coincidencia de versiones entre JRE y UiPath Java Bridge.
- Situar los archivos en la misma carpeta, con
- Configura la aplicación para cargar tecnología de apoyo. Esta acción se lleva a cabo a través del archivo
accessibility.properties
que se encuentra dentro de los JRE.Nota:: El archivoUiPathJavaServiceProvider.jar
está disponible en los paquetes UiPath.UIAutomation.Activities más recientes (posteriores a 21.2-preview). Si utilizas una versión anterior de UIAutomation, el archivo puede obtenerse actualizando temporalmente un archivo de flujo de trabajo vacío a la versión 21.2-preview. Esto hace que se desempaquete una versión más reciente del paqueteUiPath.nuget
a la máquina del usuario (%UserProfile%\.nuget\packages\uipath
). Después de obtener el archivo, el paquete puede desactualizarse a la versión utilizada antes de la actualización.
Cumplir con los requisitos anteriores depende directamente de la forma en la que se inicia la aplicación Java. Hay 3 formas habituales de iniciar la aplicación y cargar la extensión.
Aplicaciones iniciadas desde .jar
, .bat
, o archivos .ps1
.
.jar
: java -jar SwingSet2.jar
Deben llevarse a cabo los siguientes pasos:
- Crea una nueva carpeta en tu equipo en la que quieras instalar la extensión UiPath para Java (como
C:\UiPathJavaExt
) y copia los siguientes archivos en ella:UiPathBridge.jar
yUiPathJavaServiceProvider.jar
: ubicados en el directorio%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport
.UiPathJavaBridgeV8.dll
yUiPathJavaBridgeV8_x64.dll
: ubicados en el directorio%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath
.
- Añade la carpeta creada anteriormente al classpath de la aplicación Java de destino. Esta acción se lleva a cabo con el comando
-cp, -classpath
. Para este ejemplo, consideramosSwingSet2
como la aplicación Java de destino:C:\Program Files (x86)\Java\jre1.9.0_xx \bin\java.exe -cp SwingSet2.jar;C:\UiPathJavaExt\* -Djavax.accessibility.assistive_technologies=UiPathJavaServiceProvider SwingSet2
.bat
o .ps1
, entonces el archivo debe analizarse con un editor de texto. El archivo que inicia la aplicación contiene una línea similar al comando java -jar SwingSet2.jar
, pero también incluye muchos otros parámetros. El comando puede cambiarse para incluir los archivos en el classpath y especificar el parámetro de la tecnología de apoyo. Los cambios dentro de esos archivos deben llevarse a cabo con cuidado. En algunos casos, el classpath y los parámetros adicionales se eligen desde variables de entorno, que es un método menos invasivo.
Aplicaciones iniciadas desde archivos .exe
exe
, debe buscarse una forma alternativa de cargar los archivos al classpath y especificar el parámetro de la tecnología de apoyo.
- Para cargar los archivos desde el classpath, puedes buscar las variables del entorno que el ejecutable lee o los archivos de configuración que especifican dónde se cargan las dependencias. Aquí no hay normas, y depende del lote en la personalización del ejecutable.
- La tecnología de apoyo puede especificarse en este caso de forma similar a la que realiza el instalador de la extensión. El archivo
accessibility.properties
estándar puede pasarse a la carpeta%UserProfile%
y cambiar su nombre a.accessbility.properties
.
Aplicaciones iniciadas desde archivos .jnlp
.jnlp
, debe tenerse en cuenta lo siguiente:
- La carga de
UiPathBridge,jar
yUiPathServiceProvider.jar
debe llevarse a cabo añadiéndolos como dependencias al archivo.jnlp
. Esto determina el servidor para que proporcione un nuevo archivo.jnlp
, en lugar de editar uno ya existente. - Los dos archivos
.dll
también pueden cargarse dentro del archivo.jnlp
o se puede hacer referencia a ellos mediante la variable de entornoUIPATH_JB_PATH
, como se explica anteriormente. - La propiedad
assistive_technology
también puede añadirse al archivo.jnlp
o el archivoaccessibility.properties
puede situarse en%UserProfile%
.
El escalado es totalmente compatible con las aplicaciones de Java 9+ a través de los parámetros. Considera la posibilidad de añadir los siguientes parámetros a la aplicación Java que deseas automatizar para habilitar la compatibilidad de escalado:
sun.java2d.uiScale.enabled
: cuando no se usa o no se establece en el valor exacto de la cadena de "true", se considera true y se tiene en cuenta la siguiente configuración de escalado. Cuando se establece en cualquier otro valor, distinto de "true" (como True, , false, False y abc) se considera "false" y no se realiza ningún ajuste de escalado.-
sun.java2d.uiScale
: los valores pueden pasarse en 3 formulaciones:- Como proporción (0,5, 2,3, 1,5)
- Como porcentajes (100 %, 150 %)
- Como valores en ppp (96 ppp, 120 ppp). Se considera si el escalado está habilitado. Modifica el escalado en ambos ejes.
sun.java2d.win.uiScaleX, sun.java2d.win.uiScaleY
Los valores pueden pasarse como el parámetrosun.java2d.uiScale
. Ambos son necesarios para poder ser considerados por la aplicación Java. Son más específicos que la configuración general de escalado. Por tanto, si se establecen los 3 parámetros, solo ellos se tienen en cuenta.