studio
2021.10
false
UiPath logo, featuring letters U and I in white
Guía de usuario de Studio
Last updated 23 de sep. de 2024

Extensión para Java

Versiones compatibles

Actualmente, la extensión de Java es compatible con cualquier versión de JRE, desde Java 3 a Java 15.

Nota: para Java 9+, la extensión de UiPath para Java funciona en ediciones de Windows Enterprise y no Enterprise con aplicaciones abiertas con Java JDK. Para las aplicaciones abiertas con Java JRE, la extensión de UiPath para Java solo funciona en ediciones no Enterprise de Windows. Consulta más información en la guía de resolución de problemas de extensiones de Java.

Desde Studio y la línea de comandos

La extensión UiPath para Java se instala llevando a cabo la siguiente acción:

  1. 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.
  2. 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.

Nota: Para instalar esta extensión, debes tener derechos de administrador.

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.

Puedes saber si la extensión está correctamente instalada o no por los selectores generados para los controles de Java.
  • Selector válido para controles Java: <wnd app=”...” /><java role=”...” />
  • Selector no válido para controles de Java: <wnd app=”...” /><ctrl role=”client” />
Nota: La extensión UiPath para Java solo es compatible con aplicaciones AWT (p. ej., Java Swing, Oracle Forms, Fujitsu JBK) mientras que las aplicaciones SWT se automatizan con accesibilidad activa.Para detectar el tipo de tu aplicación de Java, consulta el atributo 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.

Importante:

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í.

Instalar la extensión en una carpeta personalizada

Para Java 8 o anteriores

Para que la extensión UiPath para Java se instale en una ubicación personalizada, se deben seguir los siguientes pasos:

  1. 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:
    1. UiPathBridge.jar: ubicado en el directorio %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport.
    2. UiPathJavaBridgeV8.dll y UiPathJavaBridgeV8_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.
  2. El mecanismo de configuración de la extensión de Java que utiliza UiPath para instalar la extensión implementa los archivos UiPathBridge.jar y accessibility.properties en el directorio de instalación (normalmente C:\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:
    1. Para el archivo UiPathBridge.jar, deberás especificar la carpeta en la que copiaste UiPathBridge.jar y UiPathJavaBridgev8.dll (como C:\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.
    2. Para el archivo accessibility.properties, hay dos métodos:
      • Añade el parámetro assistive_technologies=UiPath.UiPathBridge al archivo de configuración global accessibility.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.

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 entorno JAVA_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:

  1. 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 de appletviewer.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

  2. 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.

Para Java 9 o posterior

A partir de Java 9, se eliminó el Mecanismo de extensión de Java, lo que significa que el argumento -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:

  1. Añade UiPathBridge.jar y UiPathServiceProvider.jar al classpath de la aplicación.
  2. Convierte UiPathJavaBridgeV8.dll y UiPathJavaBridgeV8_x64 en visibles para UiPathBrdige.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.

  3. 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 archivo UiPathJavaServiceProvider.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 paquete UiPath.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.

Veamos un caso sencillo en el que la aplicación se inicia directamente desde simples archivos .jar: java -jar SwingSet2.jar

Deben llevarse a cabo los siguientes pasos:

  1. 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 y UiPathJavaServiceProvider.jar: ubicados en el directorio %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport.
    • UiPathJavaBridgeV8.dll y UiPathJavaBridgeV8_x64.dll: ubicados en el directorio %UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath.
  2. 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, consideramos SwingSet2 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

Si la aplicación se inicia mediante un archivo .bato .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

Cuando la aplicación se inicia mediante un archivo .exe, debe buscarse una forma alternativa de cargar los archivos al classpath y especificar el parámetro de la tecnología de apoyo.
  1. 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.
  2. 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

Cuando la aplicación se inicia mediante un archivo .jnlp, debe tenerse en cuenta lo siguiente:
  1. La carga de UiPathBridge,jar y UiPathServiceProvider.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.
  2. Los dos archivos .dll también pueden cargarse dentro del archivo .jnlp o se puede hacer referencia a ellos mediante la variable de entorno UIPATH_JB_PATH, como se explica anteriormente.
  3. La propiedad assistive_technology también puede añadirse al archivo .jnlp o el archivo accessibility.properties puede situarse en %UserProfile%.

Compatibilidad del escalado de aplicaciones

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ámetro sun.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.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.