- Notas relacionadas
- Primeros pasos
- Instalación y configuración
- Proyectos de automatización
- Dependencias
- Tipos de flujos de trabajo
- Flujo de control
- Comparación de archivos
- Mejores prácticas de automatización
- Integración del control de código fuente
- Depuración
- Registro
- 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-NMG-017: el nombre de la clase coincide con el espacio de nombres predeterminado
- 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-DPB-010: varias instancias de [flujo de trabajo] o [caso de prueba]
- ST-DBP-020: propiedades de salida no definidas
- ST-DBP-021: tiempo de espera codificado
- 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-017: modificador de parámetro no válido
- 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
- ST-USG-032 - Etiquetas obligatorias
- ST-USG-034 - URL Automation Hub
- Variables
- Argumentos
- Espacios de nombres importados
- Automatizaciones codificadas
- Introducción
- Registrar servicios personalizados
- Contextos Antes y Después
- Generando código
- Generar casos de prueba codificados a partir de casos de prueba manuales
- Integración de OpenAI con los flujos de trabajo codificados
- Solicita un préstamo con UiBank
- Generación de colas con flujos de trabajo codificados y API de Orchestrator
- Utilizar proyectos de biblioteca importados en automatizaciones codificadas
- Uso de la autenticación de dos factores dentro de automatizaciones codificadas
- Automatización atendida basada en desencadenadores
- Repo. de objetos
- La herramienta ScreenScrapeJavaSupport
- Extensiones
- Acerca de las extensiones
- Herramienta SetupExtensions
- UiPathRemoteRuntime.exe no se está ejecutando en la sesión remota
- UiPath Remote Runtime impide que la sesión de Citrix pueda cerrarse
- UiPath Remote Runtime provoca una fuga de memoria
- Las versiones del paquete UiPath.UIAutomation.Activities y UiPath Remote Runtime no coinciden
- La extensión de UiPath necesaria no está instalada en la máquina remota
- Configuración de la resolución de la pantalla
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Chrome se elimina automáticamente
- Es posible que la extensión se haya dañado
- Comprueba si la extensión para Chrome está instalada y habilitada
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Habilitar el acceso a las URL de archivos y el modo de incógnito
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Chrome
- Extensión de Chrome en Mac
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Edge se elimina automáticamente
- Es posible que la extensión se haya dañado
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Edge
- Extensión para Safari
- Extensión para VMware Horizon
- Extensión para Amazon WorkSpaces
- Complemento SAP Solution Manager
- Add-in de Excel
- Pruebas de Studio
- Solución de problemas
- Acerca de la resolución de problemas
- Errores de compilación del ensamblado
- 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
- Reparar Soporte Active Accessibility
- Validation of large Windows-legacy projects takes longer than expected

Guía del usuario de Studio
Extensión para Java
Versiones compatibles
La extensión de Java es compatible con cualquier versión de los JRE, desde Java 3 a Java 24.
Al intentar indicar o validar selectores en la aplicación Java, UiPath Robot comprueba si los archivos de extensión se cargan en el proceso de la aplicación de destino.
Los archivos pueden existir allí mediante varios mecanismos:
- al tener la extensión instalada en el JRE (para Java 3 a 8) a través del mecanismo de extensiones.
- al cargarlos desde una carpeta personalizada (para Java 3 a 17, con diferentes pasos que seguir tras Java 9+).
Si los archivos de extensión no están ahí, se utiliza un mecanismo de inyección para intentar iniciar nuestro puente.
El instalador de la extensión de Java integrado en Studio (y también la herramienta ScreenScrapeJavaSupport) depende del mecanismo de extensión para que la extensión sea cargada por el JRE, por lo que puede utilizarse para automatizar aplicaciones basadas en Java que se ejecutan con Java 3 a 8. A partir de Java 9, el mecanismo de extensión ha quedado obsoleto y el instalador no puede añadir los archivos necesarios al JRE. Estos archivos deben cargarse desde una carpeta personalizada (más información aquí). A partir de la versión 22.2.0-vistaprevia del paquete UIAutomation, con el soporte del mecanismo de inyección predeterminado, ya no es obligatorio instalar la extensión para Java para automatizar aplicaciones basadas en Java. Debes instalar la extensión de Java desde Studio o la línea de comandos solo cuando el mecanismo de inyección no funciona y cuando las aplicaciones de Java utilizan Java 3 a 8. Para las aplicaciones Java que utilizan Java 9 o superior, sigue los pasos descritos en Instalar la extensión en una carpeta personalizada.
Mecanismo de inyección
Hasta la versión 22.2.0 vista previa de UiPath.UIAutomation.Activities, el mecanismo de inyección no funcionaba en todos los casos. La carga de la extensión desde una carpeta personalizada era el método principal utilizado para las aplicaciones iniciadas con Java 9+.
A partir de UiPath.UIAutomation.Activities versión 22.2.0 vista previa, el mecanismo de inyección se ha vuelto más fiable y puede automatizar aplicaciones que no se podían automatizar antes, como las aplicaciones .jnlp iniciadas con aplicaciones de terceros, como OWS o IcedTea Web.
El mecanismo de inyección se utiliza de forma predeterminada y la instalación de la extensión de Java solo debe utilizarse como método de copia de seguridad.
Instalar la extensión en JRE desde Studio o la línea de comandos
Para Java 8 o anteriores
La extensión de UiPath para Java se instala de la siguiente manera:
Desde Studio
- Cierra todas las aplicaciones Java en ejecución.
- Abre Studio.
- Navega a Herramientas > Extensiones de UiPath.
- Selecciona Java > Instalar. Aparecerá así un mensaje de confirmación, informándote de que la extensión se ha instalado.
Desde la línea de comandos
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. 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 instalar esta extensión, deberás 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 aSunAwtFrameo ajavax.swing.Los procesos pueden interactuar con las aplicaciones Java independientemente de su escala de DPI.
La extensión de UiPath para Java también puede instalarse utilizando la herramienta ScreenScrapeJavaSupport.
Para Java 9 o posterior
Utiliza la instalación en una carpeta personalizada, como se describe en la siguiente sección.
Instalar la extensión en una carpeta personalizada
Para Java 8 o anteriores
Para instalar la extensión de UiPath para Java en una ubicación personalizada, realiza 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.dllyUiPathJavaBridgeV8_x64.dllubicados 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.jaryaccessibility.propertiesen 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.jaryUiPathJavaBridgev8.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.UiPathBridgeal archivo de configuración globalaccessibility.propertiesubicado 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.UiPathBridgeal ejecutar la aplicación Java de destino.
- Añade el parámetro
-
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.UiPathBridgeen 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.jardentro 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.UiPathBridgeen 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.exeaplicació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. Usar el Panel de control de Java que se entrega con el JRE. El panel de control de Java te permite especificar los parámetros de runtime 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 aplicaciones Java 9 o posteriores.
La idea principal de la carga de la extensión puede dividirse en 3 requisitos:
-
Añade
UiPathBridge.jaryUiPathServiceProvider.jaral classpath de la aplicación. -
Convierte
UiPathJavaBridgeV8.dllyUiPathJavaBridgeV8_x64.dllen visibles paraUiPathBridge.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.
- Situar los archivos en la misma carpeta, con
No es necesario hacer referencia a ambos archivos, pero puede evitar incidencias que puedan ocurrir debido a la falta de coincidencia de versiones entre el JRE y el 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.
:::note
The `UiPathJavaServiceProvider.jar` file is available in the latest UiPath.UIAutomation.Activities packages (newer than 21.2-preview). If you are using a lower version of UIAutomation, the file can be obtained by temporarily upgrading an empty workflow file to 21.2-preview. This causes unpacking a newer version of the `UiPath.nuget` package to the user machine (`%UserProfile%\.nuget\packages\uipath`). After getting the file, the package can be downgraded to the version used before the upgrade.
:::
:::note
The `UiPathJavaServiceProvider.jar` file is available in the latest UiPath.UIAutomation.Activities packages (newer than 21.2-preview). If you are using a lower version of UIAutomation, the file can be obtained by temporarily upgrading an empty workflow file to 21.2-preview. This causes unpacking a newer version of the `UiPath.nuget` package to the user machine (`%UserProfile%\.nuget\packages\uipath`). After getting the file, the package can be downgraded to the version used before the upgrade.
:::
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 los archivos .jar, .bat o .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:
- 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.jaryUiPathJavaServiceProvider.jar: ubicados en el directorio%UserProfile%\.nuget\packages\uipath\20.xx.xxxx\build\UiPath\JavaSupport.UiPathJavaBridgeV8.dllyUiPathJavaBridgeV8_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, consideramosSwingSet2como 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.
- 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.propertiesestándar puede pasarse a la carpeta%UserProfile%y cambiar su nombre a.accessbility.properties.
Aplicaciones iniciadas desde archivos .jnlp
Comenzando con UIAutomation v22.2, la interacción con las aplicaciones de tipo .jnlp se realiza de forma predeterminada debido a una actualización del mecanismo de inyección existente.
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 tres 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.uiScaleYLos valores pueden pasarse como el parámetrosun.java2d.uiScale. Ambos son necesarios para 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.
- Versiones compatibles
- Mecanismo de inyección
- Instalar la extensión en JRE desde Studio o la línea de comandos
- Para Java 8 o anteriores
- Para Java 9 o posterior
- Instalar la extensión en una carpeta personalizada
- Para Java 8 o anteriores
- Para Java 9 o posterior
- Compatibilidad del escalado de aplicaciones