0% encontró este documento útil (0 votos)
64 vistas70 páginas

Solución de Problemas: Public (Público) 2024-02-09

Este documento proporciona instrucciones sobre cómo solucionar problemas con el agente de escritorio de SAP Intelligent RPA, incluido cómo activar el modo de soporte, exportar métricas de estado, solucionar errores comunes y mejores prácticas. También cubre temas relacionados con Desktop Studio, Cloud Factory y Cloud Studio.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
64 vistas70 páginas

Solución de Problemas: Public (Público) 2024-02-09

Este documento proporciona instrucciones sobre cómo solucionar problemas con el agente de escritorio de SAP Intelligent RPA, incluido cómo activar el modo de soporte, exportar métricas de estado, solucionar errores comunes y mejores prácticas. También cubre temas relacionados con Desktop Studio, Cloud Factory y Cloud Studio.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

© 2024 SAP SE o una empresa filial de SAP. Reservados todos los derechos.

2024-02-09
PUBLIC (PÚBLICO)

Solución de problemas

THE BEST RUN


Contenido

1 Solución de problemas y soporte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


1.1 Desktop Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Activar el modo de soporte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Exportar métricas de estado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Mensajes de error de Desktop Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Bandeja de sistema en blanco para agente de escritorio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Utilizar el equipo mientras se ejecuta un bot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Reinicio del sistema durante el modo no asistido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Límite de asignación de memoria alcanzado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Desktop Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Best Practices para bloqueo de pantalla e infraestructura de escritorio virtual desconectada
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Best Practices para la biblioteca de PDF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Mejores prácticas para las llamadas de servicio Web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Prácticas recomendadas para gestionar una cantidad importante de datos al ejecutar un
escenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Buenas prácticas para captchas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Prácticas recomendadas para la automatización de pantallas SAP GUI con jerarquías bajas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Mejores prácticas para gestionar archivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Prácticas recomendadas para la extensión de Chrome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Mejores prácticas para gestionar la ventana emergente Servidor ocupado. . . . . . . . . . . . . . . . . 39
Eventos asincrónicos en bucles For. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.3 Cloud Factory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
Alcance insuficiente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
1.4 Cloud Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Asignación de funcionalidades de Cloud Studio y Desktop Studio. . . . . . . . . . . . . . . . . . . . . . . .52
Definir el control "Para cada" para elementos sin cuadro de límite. . . . . . . . . . . . . . . . . . . . . . . 53
Desbloquear una sesión bloqueada durante la ejecución de automatización. . . . . . . . . . . . . . . . 55
Aplicación de IU en ejecución con privilegios superiores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Launch SAP Logon in Unattended Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Mejores prácticas para optimizar un elemento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Cómo funcionan las pruebas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Ejecutar una automatización desde otra automatización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

PUBLIC Solución de problemas


2 PÚBLICO Contenido
1 Solución de problemas y soporte

Le damos la bienvenida al tema Solución de problemas y soporte. En este tema aparecen varias notas de la
base de conocimientos que están disponibles en [Link] o bien directamente definiendo el
componente.

Si tiene problemas al utilizar SAP Intelligent RPA, le sugerimos que presente una solicitud a través de SAP
Support Portal. Para obtener más información sobre cómo crear un incidente nuevo, consulte Obtener
soporte.

Por componente

• Notas relacionadas con Desktop Agent [página 3]


• Notas relacionadas con Desktop Studio [página 11]
• Notas relacionadas con Cloud Factory [página 49]

Multicomponentes y otros problemas

• ¿Por qué no veo el producto SAP Intelligent RPA en SAP Marketplace? 2824501
• Verificaciones de configuración de los navegadores web - 2796986
• ¿Dónde puedo encontrar contenido preconfigurado para S/4HANA? - El contenido está disponible en
[Link]. Consulte la nota 2788986 para consultar la estrategia del release.

Instalación y configuración

• Requisitos previos técnicos y requisitos técnicos del sistema


• Configuración de SAP Intelligent Robotic Process Automation Factory
• Configuración de componentes locales
• Actualizar la infraestructura de SAP Intelligent RPA 1.0 (Desktop Agent y Studio)
• Configuración de navegadores web

1.1 Desktop Agent

• Cómo evitar problemas de conexión: 3155610


• Error "El agente XXX ya está conectado" al intentar iniciar sesión en Desktop Agent - 2796483
• No pasa nada al iniciar un escenario no asistido con SAP Intelligent RPA Desktop Agent - 2796491
• El icono de Desktop Agent no aparece en la bandeja del sistema de Windows - 2796377
• Al descargar un paquete desde Factory, se produce un error "CCtxtRun2Dlg::OnGoToSocket: SetIpaSocket
fallido" - 2798996
• No hay ninguna clave de registro o el valor incorrecto & no encuentra ningún fichero JSON - 2796396
• Problema al reiniciar el agente (nueva sesión de ventana, cambio de proyecto o proyecto nuevo de
Factory). Para habilitar el reinicio del agente, el servicio "SAP Intelligent RPA Service" ([Link]) debe
estar activo y en ejecución.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 3
• Si necesita investigar la conexión del agente y de Factory: descargue el historial de eventos de un agente en
SAP Intelligent RPA Factory. Para obtener más información, consulte Resumen de agentes.
• Cómo corregir problemas de conexión del agente que se producen al actualizar Cloud Factory: 2981018
• Cómo ocultar la información del equipo o del inicio de sesión: 3056143

1.1.1 Activar el modo de soporte

Desktop Agent 3 cuenta con un modo de soporte. Puede utilizar el modo de soporte para guardar traces o
instalar una versión específica del agente.

Requisitos previos

• Debe poseer el rol IRPAOfficer.


• Si desea instalar una versión específica del agente después de activar el modo de soporte, el agente debe
estar en modo asistido. Para obtener más información, consulte Modificar el modo de agente.

Procedimiento

1. En SAP IRPA, seleccione la pestaña Agentes.


2. Busque el agente relevante y elija  Más acciones y Activar soporte.
3. Seleccione una duración entre 1 hora y 5 días y elija Activar.
4. Opcionalmente, puede seguir configurando las opciones del tracer, incluidos los componentes del tracer,
en el agente en Opciones y Tracer.

Resultados

• El modo de soporte está activado para el tiempo especificado.


Puede Desactivar el modo de soporte manualmente; para ello, siga el paso 2.
• Las actualizaciones automáticas están activadas.
Puede desactivar las actualizaciones automáticas en el agente de escritorio seleccionando
SistemaOpciones y desmarcando Activar actualizaciones automáticas.

 Nota

Cuando el modo de soporte está desactivado, Activar las actualizaciones automáticas no es visible.

• Los traces funcionales se registran por job, se registran los traces técnicos al inicio y los traces se cifran y
cargan en el arrendatario.
En el agente de escritorio, puede acceder a las opciones de Tracer en Opciones, mientras el modo de
soporte está activado.

PUBLIC Solución de problemas


4 PÚBLICO Solución de problemas y soporte
1.1.2 Exportar métricas de estado

Exportar métricas de estado para su agente.

Requisitos previos

Debe haber activado el modo de soporte para poder exportar métricas de estado. Para obtener más
información, consulte Activar el modo de soporte [página 4].

Contexto

Puede exportar métricas relacionadas con su agente y enviarlas al equipo de SAP Support para que las
investigue. Una vez activado el modo de soporte, las métricas de estado se almacenan durante un máximo de
7 días.

Procedimiento

1. En Desktop Agent, seleccione  Acerca de y Detalles de agente.

2. Seleccione  Más y Exportar métricas de estado.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 5
Resultados

Se exporta a su PC un archivo comprimido que contiene archivos CSV de las distintas métricas. Puede enviar
este archivo a SAP Support.

1.1.3 Mensajes de error de Desktop Agent

En el systray de Desktop Agent se informa del estado, errores y advertencias en la pantalla "Acerca de". El
icono de advertencia (naranja) no requeriría interacción humana porque el agente volverá a intentarlo. El icono
de error (rojo) suele requerir interacción humana.

A continuación encontrará algunos errores comunes que se podrían producir:

• Error en el control de funcionamiento (HEALTHCHECK_FAILURE) - Existe un URL de arrendatario, pero el


servidor ha devuelto un error
• Causa: El URL existe pero el agente no puede conectarse.
• Resolución:
• Verifique el URL con un navegador web.
• Póngase en contacto con el administrador para que le facilite el URL correcto
• Compruebe la conectividad
Si utiliza una VPN, este problema puede deberse al hecho de que su VPN no permite Websockets. Para
obtener más información, consulte la sección Acerca del protocolo WebSockets en la parte inferior
de esta página: Requisitos previos técnicos y requisitos técnicos del sistema.
• No se puede acceder al servidor URL del arrendatario (RETRY_HEALTHCHECK_ON_FAILURE)
• Causa: El URL ya no está disponible.
• Resolución:
• La conectividad se ha interrumpido: Reinicie la interfaz de red, verifique la IP y el DNS.
• URL incorrecta: Póngase en contacto con el administrador para que le facilite el URL correcto
• Autenticación no completada (AUTHENTICATION_NOT_COMPLETED)

PUBLIC Solución de problemas


6 PÚBLICO Solución de problemas y soporte
• Causa: La autenticación no se ha completado completamente
• Resolución: Reinicie el agente para poder volver a iniciar la autenticación
• Se ha perdido la conexión (NEED_SENDING_CLIENT_INFO)
• Causa: Desconexión de cables, desconexión Wi-Fi...
• Resolución: Compruebe la conexión; cuando se restablezca, el agente se volverá a conectar
automáticamente
• No se ha encontrado el agente en el grupo de agentes (INVALID_SEND_CLIENT_INFO_ANSWER)
• Causa: El agente no está declarado en Cloud Factory
• Resolución: Póngase en contacto con el administrador para añadir su agente a un grupo de agentes
(Agentes > Grupos de agentes)
Para obtener más información, consulte Crear un grupo de agentes.
• La conexión se ha cerrado para siempre
• Causa: Error de comunicación entre Desktop Agent y Factory
• Resolución: Se debe actualizar Desktop Agent. La versión mínima necesaria para resolver este
problema es la versión 2011 2.0.6. Para más información, consulte la nota SAP 2997097 .
• El paquete no existe en la bandeja de sistema
• Causa: Su paquete no aparece en la bandeja de sistema
• Resolución: Vaya a Scripts y busque: [Link](function (ev). Si ve un
fragmento como el que se muestra a continuación, comente la condición if:

 Código de ejemplo

[Link](function (ev){
if([Link]){
//Add item in systray menu.
....
}
});

• Esperando a que el usuario introduzca credenciales


• Causa: Desktop Agent espera a que el usuario introduzca sus credenciales
• Resolución: Cierre Desktop Agent y vuelva a iniciarlo, le pedirá que inicie sesión. Si sigue teniendo
problemas:
1. Abra la URL del arrendatario en Internet Explorer, inicie sesión y guarde el ID de usuario y la
contraseña.
2. Seleccione Herramientas > Opciones de Internet > Seguridad.
3. Haga clic en Internet > Nivel personalizado....
4. En Opciones > Scripting, fije Active scripting en Permitir.
5. Vuelva a Opciones de Internet > Seguridad. Haga clic en Sitios de confianza y, a continuación, en
Sitios.
6. Introduzca la URL del arrendatario y haga clic en Añadir para incluirla en la lista de sitios de
confianza.
Ahora debería ver la ventana emergente que indica que Desktop Agent se está iniciando con las
credenciales que ha almacenado. Ahora puede conectarse a Internet.
• Error de registro.
• Causa: El registro ha fallado
• Resolución: Asegúrese de utilizar la URL correcta revisando los pasos de registro del arrendatario.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 7
Para obtener más información, consulte Registro de arrendatario de Desktop Agent.

1.1.4 Bandeja de sistema en blanco para agente de escritorio

Ha verificado todos los requisitos previos técnicos y configurado el navegador, pero la bandeja de sistema del
agente aparece en blanco.

Causa

Internet Explorer tiene un estado inestable.

Resolución

1. Restablezca la configuración de Internet Explorer.

PUBLIC Solución de problemas


8 PÚBLICO Solución de problemas y soporte
2. Vuelva a configurar las opciones de Internet Explorer. Para obtener información detallada, consulte
Configuración de navegadores web.

1.1.5 Utilizar el equipo mientras se ejecuta un bot

Es posible que desee utilizar su equipo mientras se ejecuta un bot.

 Nota

Si el bot no requiere intervención humana, no debe utilizar el equipo mientras se esté ejecutando.

Un bot puede ejecutarse en proceso de fondo; sin embargo, debe tener en cuenta la siguiente información
relativa al diseño del bot:

• No debe contener actividades de clic de ratón, actividades de doble clic ni otras funciones que requieran
interacciones con el ratón (la actividad de clic normal está funcionando);
• No debe contener ninguna actividad de pulsación;

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 9
• Puede utilizar su equipo si el workflow no contiene actividades que requieran abrir una aplicación o una
ventana;
• Puede minimizar la aplicación a automatizar en función de su tecnología;
• Si interactúa con la misma aplicación que el bot, existe un riesgo alto de conflictos (incluso aunque la
aplicación esté minimizada).

 Nota

Si desea utilizar el equipo mientras se ejecuta un bot, lo mejor es hacer algunas pruebas. De hecho, el
comportamiento del bot depende en gran medida del caso de uso.

1.1.6 Reinicio del sistema durante el modo no asistido

El sistema puede reiniciarse mientras Desktop Agent está en modo no asistido.

Contexto

Cuando un Desktop Agent se ejecuta en un sistema en modo no asistido, puede suceder que se reinicie el
sistema. Es posible que desee iniciar automáticamente el agente.

Cómo iniciar Desktop Agent inmediatamente después del reinicio del


sistema

Para iniciar Desktop Agent inmediatamente después de este reinicio, debe haber almacenado sus credenciales
de Windows en el archivo Desktop Agent. También debe haber marcado la casilla de verificación Iniciar
automáticamente al iniciar sesión en Windows en la bandeja del sistema Desktop Agent. Para marcar esta
opción, haga clic en el botón Más acciones y luego haga clic en Configuración.

La sesión se abre en modo no interactivo cuando el sistema se ha reiniciado. Luego, el agente se inicia
automáticamente.

Encontrará más información sobre cómo guardar credenciales de Windows para iniciar un SAP Intelligent
RPADesktop Agent en modo no asistido; consulte Establecer la contraseña de Windows en Desktop Agent.

Cómo eliminar las credenciales

Las credenciales se pueden eliminar con el siguiente comando:

[Link] /forget

Con este comando, el Desktop Agent deja de reiniciarse automáticamente después del reinicio.

PUBLIC Solución de problemas


10 PÚBLICO Solución de problemas y soporte
Encontrará más información sobre cómo iniciar Desktop Agent cuando se reinicia el servidor en la siguiente
nota SAP: 3010368 .

1.1.7 Límite de asignación de memoria alcanzado

Se producen errores de memoria saturada cuando se procesan demasiados datos a la vez o cuando una
automatización no libera memoria tras el uso. Esto puede provocar un fallo de la automatización. Siga las
recomendaciones para evitar alcanzar el límite de asignación de memoria.

Le recomendamos que:

• Siga Prácticas recomendadas para los scripts personalizados.


• Procese o recupere grandes conjuntos de datos en subconjuntos más pequeños para procesarlos por
lotes. No cargue el conjunto de datos entero de una vez. Por ejemplo, en lugar de leer un archivo Excel
entero, puede ejecutarlo en bucle procesando las líneas de X en X.
• Libere los datos de la memoria que no se utilizan. Por ejemplo, se puede borrar una variable que contiene
una lista de centenares de objetos cuando ya no se utiliza.
• Revise periódicamente el uso de memoria para identificar consumos anormales. En un equipo Windows,
puede revisar el consumo de memoria con la aplicación Administrador de tareas.

Si el error de memoria saturada no desaparece tras seguir estas recomendaciones, intente ejecutar la tarea
que requiere un gran consumo de memoria utilizando una herramienta externa, por ejemplo, un script Python.

1.2 Desktop Studio

Están disponibles las siguientes notas de la base de conocimiento relacionadas con Desktop Studio:

• Tiempo de espera largo al capturar una página con UI Automation - 2788781


• No se puede crear el componente Gestor de depuración de procesos - 2781601
• Error "[Link]" al depurar un proyecto en Desktop Studio - 2833621
• Aparece una pantalla negra al capturar una página con Intelligent RPA Desktop Studio con Chrome -
2842523
• No se ha encontrado el archivo [...] [Link] - 2849305

Procedimientos para Desktop Studio

• Cómo recuperar la variable (texto) de Factory - 2822776 (consulte también este tema en la guía del
desarrollador)
• Cómo recuperar la variable (credenciales) de Factory - 2822500 (consulte también este tema en la guía del
desarrollador)
• Cómo insertar una imagen en un correo electrónico - 2864114
• Cómo utilizar otra herramienta de diff y fusión - 2867241
• Cómo renombrar un proyecto - 2956757

Prácticas recomendadas

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 11
• Best Practices para bloqueo de pantalla e infraestructura de escritorio virtual desconectada [página 12]
• Best Practices para la biblioteca de PDF [página 20]
• Mejores prácticas para las llamadas de servicio Web [página 21]
• Prácticas recomendadas para gestionar una cantidad importante de datos al ejecutar un escenario [página
31]
• Buenas prácticas para captchas [página 31]
• Prácticas recomendadas para la automatización de pantallas SAP GUI con jerarquías bajas [página 32]
• Mejores prácticas para gestionar archivos [página 34]
• Mejores prácticas para gestionar la ventana emergente Servidor ocupado [página 39]

1.2.1 Best Practices para bloqueo de pantalla e


infraestructura de escritorio virtual desconectada

A veces, la herramienta SAP Intelligent RPA precisa que el usuario gestione aplicaciones con acciones de perfil
bajo como pueden ser clics de ratón o pulsaciones directas. En determinadas circunstancias, estas acciones
de perfil bajo pueden causar limitaciones.

Este comportamiento no se limita a una ejecución sin supervisión, ya que se puede esperar que el usuario
inicie escenarios atendidos en su equipo y los deje trabajar mientras la pantalla está bloqueada.

Contexto

El usuario confirma que un job se ha ejecutado correctamente durante las etapas de implementación y prueba:

• Con un depurador y una herramienta de prueba.


• Supervisando la ejecución del job en tiempo real en su equipo.

Sin embargo, tan pronto como el agente está en una infraestructura de escritorio virtual y tiene la pantalla
bloqueada, el job deja de ejecutarse correctamente y se detiene durante algunas acciones técnicas, en plena
automatización.

Este problema se produce cuando:

• La pantalla está bloqueada en el equipo del usuario cuando se ejecuta un job.


• Hay una sesión abierta en la infraestructura de escritorio virtual, aunque no hay actividad del usuario.
• La infraestructura de escritorio virtual se minimiza al cabo de unos doce minutos.

Motivo

Para procesar acciones de automatización específicas como pueden ser clics de ratón y secuencias de
pulsaciones, el usuario necesita una sesión abierta que evite que la pantalla se bloquee durante la ejecución de
una automatización. Ahora bien, no es imprescindible utilizar un teclado físico o virtual.

PUBLIC Solución de problemas


12 PÚBLICO Solución de problemas y soporte
Este comportamiento es característico de las tecnologías y las aplicaciones que se administran dentro de la
automatización.

Este tipo de problema se deriva principalmente de simulaciones de uso de un ratón y un teclado:

• [Link]();
• [Link]("text");

[Link] Causas

Los siguientes temas explican las principales causas de un bloqueo de pantalla y las limitaciones de la
infraestructura de escritorio virtual.

[Link].1 Clic de ratón

Utilizar las siguientes acciones de clic de ratón simulado provoca limitaciones:

• [Link](true)
• [Link](
• cada [Link] métodos

Para identificar este tipo de acción, compruebe que el cursor se desplace hasta la posición del elemento
cuando se llame la acción de clic.

[Link].2 Pulsaciones

El uso de las siguientes acciones de teclado provoca limitaciones:

• [Link]([Link])
• [Link]("Test")
• [Link]("Test")

Para verificar si la acción se puede realizar con la pantalla bloqueada o una infraestructura de escritorio virtual
desconectada, envíe la siguiente secuencia de pulsaciones:

[Link](function(ev){
[Link](“text”);
},10000);

Esta secuencia de pulsaciones creará un retraso durante el cual puede bloquear manualmente la pantalla o
desconectar la sesión.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 13
[Link].3 Automatización de IU

El conector UIAutomation ayuda a automatizar cualquier tipo de aplicación de escritorio que implemente
la interfaz UIAutomation. Si un componente automatizado no responde a una solicitud de acción de perfil
superior, el conector UIAutomation envía clics de ratón o pulsaciones. En este caso, las acciones simuladas
como click() o set() pueden generar limitaciones.

Por ejemplo, en Acrobat Adobe Reader, si hace un clic en Menú de archivos con la secuencia
[Link]() en lugar de la secuencia [Link](),
la acción será errónea cuando la pantalla esté bloqueada.

El mismo comportamiento puede producirse si gestiona el Explorador de archivos de Windows con el conector
de UIAutomation.

Para identificar este tipo de acciones:

• Compruebe que el cursor se desplace hasta la posición del elemento cuando se llame la acción de clic.
• Combine la acción con un retraso durante el que puede bloquear la pantalla manualmente o desconectar la
sesión:

[Link](function(ev){
[Link]();
},10000);

[Link].4 Automatización de superficie con OCR

La automatización de superficie se basa en clics de ratón y pulsaciones que precisan un escritorio que tenga la
pantalla desbloqueada.

[Link] Resoluciones

Los siguientes temas sugieren mejores prácticas para resolver el bloqueo de pantalla y las limitaciones de
infraestructura de escritorio virtual.

Utilizar actividad de desbloqueo [página 15]

Llevar un seguimiento de las acciones de clic de ratón y pulsación [página 15]

Automatización de aplicaciones Web [página 16]

Mantener la pantalla desbloqueada [página 19]

Mantener una conexión con la infraestructura de escritorio virtual [página 20]

Identificar otra resolución funcional [página 20]

PUBLIC Solución de problemas


14 PÚBLICO Solución de problemas y soporte
[Link].1 Utilizar actividad de desbloqueo

Si su bot se está ejecutando en modo no asistido, puede utilizar la actividad Desbloquear para resolver
problemas con clics del ratón y secuencias de pulsaciones.

 Nota

Para la tecnología SAP GUI, la actividad (o función) Desbloquear

ensureUnlocked

no es necesaria para las secuencias de pulsación de tecla.

Puede añadir la actividad Desbloquear en Desktop Studio o utilizar la siguiente función:

[Link]();

La actividad Desbloquear desbloquea una sesión bloqueada y le permite realizar clics del ratón o secuencias de
pulsaciones durante la ejecución de una automatización. Esta actividad vuelve a bloquear automáticamente la
sesión 10 segundos después de la acción.

Debe configurar la contraseña de la sesión para:

• abrir automáticamente la sesión cuando su equipo se inicie y sin intervención humana;


• desbloquear la sesión durante unos segundos cuando el bot esté ejecutando una automatización.

Puede almacenar directamente sus credenciales de Windows en el archivo Desktop Agent. Para obtener más
información sobre cómo configurar las credenciales de Windows en Desktop Agent, consulte Establecer la
contraseña de Windows en Desktop Agent.

Encontrará más información sobre cómo guardar credenciales de Windows para iniciar un Desktop Agent en
modo no asistido en 3010368 .

[Link].2 Llevar un seguimiento de las acciones de clic de


ratón y pulsación

Para resolver los problemas relativos a clics de ratón y pulsaciones, debe llevar un seguimiento de estas
acciones e identificarlas. Puede que estas acciones se hayan implementado así en el proyecto para evitar
códigos complicados o superar una manipulación incorrecta de los elementos por parte de la herramienta.

Si encuentra la siguiente acción de pulsación:

• [Link] / [Link]

puede sustituirla por un evento simulado:

• [Link]()

Si encuentra la siguiente acción de clic:

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 15
• [Link] / [Link] / click(true)

puede sustituirla por un evento simulado:

• [Link]()

[Link].3 Automatización de aplicaciones Web

Establecer un valor con el método de conjunto estándar podría no funcionar en todos los sitios web,
especialmente en un sitio web con un framework rico (por ejemplo, Arranque, Angular…).

Este comportamiento está relacionado con:

• Eventos JavaScript adjuntos a elementos de la página web


• controles de superficie
• una estructura de página compleja

El siguiente ejemplo muestra un caso estándar para un sitio web con un framework rico.

1. Al establecer un valor, el usuario obtiene una lista de quick info como entrada en la barra de búsqueda
"Búsqueda de componentes".

Aparece un nuevo mensaje en la página indicando el tipo de búsqueda realizada y si se ha fijado un valor
desconocido.
2. El usuario define el siguiente evento fijado simulado:

[Link]("IRPA");

PUBLIC Solución de problemas


16 PÚBLICO Solución de problemas y soporte
El evento fijado no funciona por los siguientes motivos:
• No se visualiza ninguna quick info.
• No se visualiza ningún mensaje nuevo.
3. El usuario establece las siguientes secuencias de pulsación simuladas:

[Link]();
[Link]();
[Link]();
[Link]("IRPA");

 Nota

En un navegador web como Chrome, es necesario activar dos veces y después fijar el foco en el elemento al
que queremos enviar una secuencia de pulsación.

Para evitar una secuencia de pulsación simulada, no se debe enviar directamente al elemento.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 17
El resultado es que se muestran una quick info y un mensaje.

Esta solución se puede aplicar a pantallas desbloqueadas; sin embargo, no se aplica a máquinas que tengan
una pantalla bloqueada y una infraestructura de escritorio virtual desconectada. Con una pantalla bloqueada,
[Link] está bloqueado.

Otra forma de resolver este comportamiento es utilizar eventos adjuntos al elemento:

[Link]("IRPA");
[Link]("input");

PUBLIC Solución de problemas


18 PÚBLICO Solución de problemas y soporte
El resultado es que se muestran la quick info y el mensaje correspondiente. Esta solución se puede aplicar a
máquinas con una pantalla bloqueada e infraestructuras de escritorio virtual desconectadas, siempre que la
sesión esté activa.

Una página web más compleja puede requerir que el usuario trabaje directamente en el navegador en el modo
de desarrollador para buscar una solución.

Por ejemplo, se puede simular un evento de ratón específico en la página:

[Link]( "dispatchEvent( new MouseEvent( 'mouseover',


{'bubbles': true, 'cancelable': true}))");

También se puede hacer para un evento de teclado, para entradas que solo necesiten una entrada clave
específica.

[Link].4 Mantener la pantalla desbloqueada

Una mejor práctica habitual es configurar el entorno de modo que la pantalla no se bloquee.

De este modo se podrán utilizar clics de ratón y pulsaciones sin quedar encallado y ser enviado al bloqueo de
pantalla en lugar de a la aplicación prevista.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 19
[Link].5 Mantener una conexión con la infraestructura de
escritorio virtual

Si utiliza una infraestructura de escritorio virtual y se requieren clics de ratón y pulsaciones, puede:

• Configurar la infraestructura de escritorio virtual para evitar que se bloquee la pantalla.


• Conectarse directamente a una infraestructura de escritorio virtual desde un equipo local.

Es posible que finalmente tenga un proyecto que inicie esta conexión desde un equipo local.

[Link].6 Identificar otra resolución funcional

Si todas las resoluciones sugeridas hasta el momento no funcionan, trate de encontrar una solución alternativa
funcional. Otra secuencia de pantalla, otro pulsador en el que hacer clic, cualquier otra forma de validar el
formulario también puede funcionar sin necesidad de hacer clic con el ratón o una pulsación.

Si ninguna de las soluciones alternativas es aplicable, puede que termine por ser un bloqueador para su
proyecto.

Es importante llevar un seguimiento de estas limitaciones en una fase temprana de POC, diseño o
implementación. Para ello, puede:

• Utilizar acción + retraso + bloqueo de pantalla manual


• Realizar pruebas periódicas en una infraestructura de escritorio virtual desconectada o en un equipo que
tenga la pantalla bloqueada.

1.2.2 Best Practices para la biblioteca de PDF

La biblioteca de PDF permite extraer datos de documentos PDF en los que se puede buscar texto.

En algunos casos, la biblioteca de PDF no puede localizar correctamente el texto buscado en un documento.
De hecho, el orden de los elementos de texto devueltos puede no corresponderse con las coordenadas visuales
que se utilizan para renderizarlos.

Para superar estos desafíos, recomendamos lo siguiente:

1. Utilice el método getText para recuperar el texto completo del documento PDF.
2. Analice la estructura del índice extraído para localizar los elementos de texto que desea recuperar.
3. En función de la estructura del índice, utilice un método o actividad adecuados para recuperar el elemento
de texto (getWordAfter o getWordBefore, por ejemplo).

 Nota

Aquí no se puede aplicar una solución alternativa única. En algunos casos puede resultar útil pasar
de getWordAfter a getWordBefore (o viceversa). En casos más complejos, debe profundizar en la
estructura de índice y buscar una que sea estable.

PUBLIC Solución de problemas


20 PÚBLICO Solución de problemas y soporte
1.2.3 Mejores prácticas para las llamadas de servicio Web

Contexto

Cuando utilice la función [Link] para comunicarse con un servicio Web, recibe un estado del servidor
como:

• 200.
• 300.
• etc.

A veces, parece que la llamada no funciona y recibe un mensaje de error genérico. Puede ser:

• Solo el estado.
• Un mensaje genérico.

Puede ser difícil saber de dónde proviene el problema.

Motivos

Los servicios Web pueden combinar muchas opciones diferentes:

• Certificados en el lado del servidor/cliente.


• Los certificados SSL, que cifran información, proporcionan autenticación, etc. Son necesarios si desea
autenticarse en el servidor.
• Tokens.

Existen diferentes tipos de servicios Web:

• SOAP.
• ODATA.
• REST.

Si combina todos estos servicios Web y opciones, esto puede llevarle a muchas posibilidades diferentes. Por lo
tanto, hay muchas formas de configurar el método [Link].

Además, es posible que se encuentre con una configuración incorrecta de los servidores o certificados que
puede provocar problemas específicos.

[Link] Causas y resoluciones

En esta parte, puede encontrar las principales causas de los problemas y cómo resolverlos.

En los siguientes temas, obtendrá más información sobre:

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 21
• Certificados del cliente.
• Certificados del servidor.
• Cookies.
• Tokens.

[Link].1 Certificados del cliente

Los certificados del cliente se utilizan para autenticarse en un servidor. A veces no se puede conectar a un
servidor con un certificado.

Puede utilizar la opción ignoreClientCertificate para evitar la autenticación del certificado.

Esta opción utiliza una implementación C++ de la llamada.

Ejemplo:

[Link]({
url: url,
method: 'GET',
contentType: "application/json",
headers: headers,
ignoreClientCertificate: true,
success: function(res, status, xhr) {
[Link] = [Link]["x-csrf-token"];

var value = [Link]["Set-Cookie"];


[Link] = [Link]('; ')[0] + "; ";

[Link]();
},
error: function(xhr, status, statusText) {
[Link]('error get')
[Link]();
}
});

[Link].2 Certificados del servidor

La API puede necesitar dichos certificados. Por lo general, son obligatorios.

[Link] no puede forzar la llamada sin esos certificados.

Además, no puede especificar qué certificados utilizar ya que no se encuentran en un entorno de navegador.

Para obtener más información sobre cómo solucionar este problema, consulte: Cómo lidiar con problemas de
llamadas de Ajax en Llamada Ajax [página 27]

PUBLIC Solución de problemas


22 PÚBLICO Solución de problemas y soporte
[Link].3 Cookies

Las cookies le permiten autenticar solicitudes de cliente y conservar toda la información de la sesión.

Si necesita utilizar cookies en sus llamadas, debe establecer una cookie para conservar esta información. A
continuación, podrá utilizarla en otra llamada.

Ejemplo:

[Link]({ //First call, get the cookies information


url: "[url]",
method: [Link],

contentType: [Link],
usePassport: true,
ignoreClientCertificate:true,

headers : {
'Authorization': 'Basic [base 64 login:password]',
'X-CSRF-Token': 'Fetch'
},
success: function(res, status, xhr) {

[Link](function(ev) {
try {

var csrf = [Link]['x-csrf-token'];


var cookie = [Link]['Set-Cookie'];
var myUrl = "[Link]

[Link](function(ev) {
[Link]({ //Second call, use the cookies in the headers object
url: myUrl,
method: [Link],

ignoreClientCertificate:true,
contentType: 'application/json;charset=utf-8',
headers : {
'Content-type': 'application/json;charset=utf-8',
'X-CSRF-TOKEN': csrf,
'Cookie': cookie
},
success: function(res, status, xhr) {

},
error: function(xhr,res,status) {
}
});
}, 0);

} catch (ex) {

}
}, 0);
},
});

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 23
[Link].4 Tokens

Un token es un dato creado por un servidor que contiene información para identificar un usuario y la validez del
token. Si utiliza el token de forma incorrecta en la llamada de Ajax, puede provocar un problema. Al igual que
las cookies, el token necesita dos llamadas.

Por ejemplo, realiza una llamada API en Factory. Utilice la primera llamada para obtener el token. La segunda
llamada desencadena la llamada API y crea un job en la cola de jobs. En este caso, las llamadas están
enlazadas. La segunda llamada se produce si la primera tiene éxito.

Ejemplo:

[Link]({ //First call, get the token

url: [Link], //Url got from the service key “url


parameter + /oauth/token?grant_type=client_credentials”

method: [Link],

contentType: [Link],

header:{

Accept: [Link],

Authorization: 'Basic ' +


[Link]([Link] + ':' +
[Link], false) // clientID and clientSecret got
from the service key

},

success: function(res, status, xhr) {

[Link]('Token generated');

[Link] = 'Bearer ' + [Link](res, 'access_token');

[Link]({ // Second call

url: [Link], //Url from the API trigger


(end with “/run”)

method: [Link],

contentType: [Link],

header:{

Accept: [Link],

'irpa-trigger-token':
[Link], //Token get from the API trigger

Authorization: [Link]

},

data:{

//Payload of your API Trigger

},

PUBLIC Solución de problemas


24 PÚBLICO Solución de problemas y soporte
success: function(res, status, xhr) {

[Link]('success');

[Link]();

return;

},

error: function(xhr, status, statusText) {

//web service failed

[Link]([Link], 'Web service failed: [' + status + ']' +


statusText + ' - ' + [Link]);

[Link]();

return;

});

},

error: function(xhr, status, statusText) {

//web service failed

[Link]([Link], 'Web service failed: [' + status + ']' +


statusText + ' - ' + [Link]);

[Link]();

return;

}
});

[Link] Ejemplos de las mejores prácticas

Aquí hay algunos ejemplos de las mejores prácticas para las llamadas de servicio Web.

Como se ha indicado anteriormente, debido a la complejidad de la llamada de Ajax, puede que tenga diferentes
problemas.

Para evaluar estos problemas con la llamada de Ajax, puede utilizar múltiples herramientas:

• Postman.
• cURL.
• Comandos de terminal.
• Llamada de Ajax.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 25
[Link].1 Postman

Postman es una herramienta que le permite interrogar y probar servicios Web y llamadas API.

Esta herramienta tiene múltiples funciones y es fácil de utilizar.

[Link].2 cURL

cURL es una herramienta de línea de comandos que puede utilizar para obtener o enviar datos, incluidos los
archivos con sintaxis de URL.

En Windows 10 build 17063, cURL se incluye de forma predeterminada.

[Link].3 Comandos de terminal

En la petición de comandos, puede probar el comando cURL durante la evaluación.

Si el test es correcto, el agente llama el comando cURL a través del terminal.

PUBLIC Solución de problemas


26 PÚBLICO Solución de problemas y soporte
[Link].4 Llamada Ajax

Cómo configurar la función de llamada Ajax

Si no sabe cómo configurar la función de llamada Ajax, siga este proceso:

1. Haga que la solicitud funcione en Postman.

 Nota

Si no funciona ni siquiera con Postman, significa que no puede hacer que funcione con la función de
llamada de Ajax.

1. Cuando funcione, haga clic en el botón Código.

2. Seleccione el idioma de programación con el que trabaja.

 Nota

Puede ver diferentes idiomas en el cuadro rojo de la izquierda. Aquí, elegimos el idioma JavaScript-
jQuery porque la función de llamada de Ajax se ha desarrollado con el método [Link](). En la
casilla verde, observa el código generado por Postman.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 27
2. Utilice este código en la función de llamada de Ajax.
Copie y pegue este código en Desktop Studio y ajuste el código si es necesario. Para obtener más
información, consulte: call.

function getCall(success, error, localData){


var result;
var url = [Link] = "";

//API call to get csrf token and cookies


[Link]({
method: [Link],
url: url,
contentType: [Link],
headers: {
'Authorization': [Link],
'x-csrf-token' : 'fetch',
'Cookie' : 'fetch',
'Accept' : 'application/json'
},
ignoreClientCertificate: [Link],
success: function(res, status, xhr) {

if(res.d){
result = xhr;
success(result);
} else {
result = res;
error(result);
}

},
error: function(xhr, error, statusText) {

result = res;
error(result);

}
});

Cómo lidiar con problemas de llamadas de Ajax

Si aún tiene problemas durante la llamada (problemas del objeto xhr) después de haber realizado el test en el
proceso anterior, intente lo siguiente:

1. Pruebe [Link] con la opción ignoreClientCertificate como verdadera.

 Nota

Si aún no funciona, verifique el código de error, que puede llevarle al origen del error.

.
2. Modifique las opciones en Postman.

PUBLIC Solución de problemas


28 PÚBLICO Solución de problemas y soporte
De forma predeterminada, la Verificación del certificado SSL no se permite en Postman. Esto significa que
se fuerza la llamada incluso si el certificado no está disponible.
Si la llamada a Postman no funciona después de activar esta opción, significa que este certificado es
obligatorio para realizar la llamada. Como se ha indicado anteriormente, la llamada de Ajax no tiene esta
opción.
Una solución podría ser utilizar cURL.
3. Pruebe el código cURL proporcionado por Postman.
• Siga el proceso anterior Cómo configurar mi proceso de función de llamada de Ajax, del paso 1.a. al
paso 1.b., para recuperar el código cURL adecuado.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 29
• En este código, elimine todos los caracteres \ y sustituya todas las comillas simples por comillas
dobles.
• Ejecute el código cURL en la petición de comandos.
Ejemplo:

curl --location --request GET "[Link]

Si tiene un mensaje de error que aparece con el código cURL, realice una búsqueda en Internet. Los
mensajes de error suelen ser muy explícitos. Si el código tiene éxito, puede integrarlo en una llamada
SAP Intelligent RPA.
• Implemente este código en Desktop Studio.

var cmdCurl = 'curl -k --location --request GET "[Link]


[Link](cmdCurl, 60, function(reqres) {
var reqdata = [Link]([Link]);

PUBLIC Solución de problemas


30 PÚBLICO Solución de problemas y soporte
});

 Nota

La opción -k se utiliza para ignorar los certificados de cliente.

1.2.4 Prácticas recomendadas para gestionar una cantidad


importante de datos al ejecutar un escenario

Es responsabilidad del desarrollador garantizar que no se introduzca una gran cantidad de datos en el objeto
de datos sc. cuando se ejecute un escenario, porque el objeto de datos sc. se devuelve a Cloud Factory.

A modo de solución, si se genera y gestiona una gran cantidad de datos mientras se ejecuta un escenario, se
pueden vaciar (parcial o completamente) en el último paso del escenario.

Ejemplo:

...

// during scenario execution

[Link] = [Link](theBigFile);

...

// last step before ending the scenario

[Link] = undefined;

[Link]();

1.2.5 Buenas prácticas para captchas

A veces puede encontrarse con captchas cuando desea automatizar un sitio web.

Puede gestionarlos de dos maneras:

• Puede intentar resolver captchas utilizando p. ej. una biblioteca de reconocimiento de imágenes externa
(puede ser un desarrollo de proceso duro).
• También puede intentar detectar cuándo se visualiza el captcha y evitar este comportamiento. Así p. ej., un
captcha puede visualizarse cuando los campos de un formulario se completan demasiado rápido. En este
caso, lo mejor es añadir p. ej. un retraso de tres segundos entre cada paso de su automatización.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 31
1.2.6 Prácticas recomendadas para la automatización de
pantallas SAP GUI con jerarquías bajas

Cuando se captura una tabla con jerarquías bajas en Desktop Studio, se visualizan muchos elementos en el
programa de pruebas de la aplicación.

Reconocer todos los elementos de la pantalla requiere muchas pruebas, lo que puede provocar un mal
rendimiento durante la ejecución del bot.

Para gestionar este comportamiento, puede evitar leer la tabla de Desktop Studio y, en su lugar, leer la tabla de
Excel. Para exportar la tabla a un archivo Excel, debe pulsar MAYÚS + 4 y capturar dos ventanas emergentes.

Una vez capturadas las dos ventanas de diálogo, puede automatizar las pantallas capturadas con el siguiente
procedimiento.

Procedimiento

1. Ejecute la acción de pulsación en la pantalla capturada con la tabla.


Aparece la primera ventana emergente.

PUBLIC Solución de problemas


32 PÚBLICO Solución de problemas y soporte
2. Haga clic en Continuar.
Aparece la segunda ventana emergente.

3. Haga clic en Sustituir.

Resultado

Se abre la tabla y se guarda en el archivo Excel.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 33
1.2.7 Mejores prácticas para gestionar archivos

Esta sección proporciona las mejores prácticas para gestionar archivos.

Archivo de configuración que funciona para distintos usuarios y equipos

Un ejemplo típico sería que necesita colocar un archivo o una carpeta localmente. Pedir a los usuarios finales
que creen una carpeta manualmente para el bot no es muy conveniente. Además, es difícil encontrar un
nombre de ruta convencional que funcione para todos los usuarios de su organización.

Puede evitarlo haciendo que el bot cree estas carpetas de forma predeterminada. Por lo tanto, si el bot
no encuentra la carpeta necesaria en el equipo, la creará. Puede hacerlo aún más práctico añadiendo una
condición para verificar la existencia de la carpeta.

 Código de ejemplo

// this will create a folder 'Config' under


'Desktop\Automation\ProjetName' only if this folder does not exist

var configFile
=[Link]([Link]) + "\
\Automations\\"+ [Link] + "\\config";
if (![Link]){
[Link](configFile);
}

Archivos de trabajo

Para los archivos temporales utilizados por el bot, los usuarios de Windows pueden necesitar algunas
autorizaciones específicas. La mejor práctica es crear estos archivos en la carpeta de log del proyecto. Esta es
la forma más conveniente de gestionar los archivos de trabajo.

 Código de ejemplo

//this will create a file 'TempFiles' in your project folder


[Link]([Link]+"\\TempFiles\\")

Gestionar la ruta de carpetas mediante variables de Factory

Al gestionar un archivo/carpeta común para un grupo de usuarios que tienen acceso a un repositorio
compartido. Puede utilizar la variable de texto de Cloud Factory para almacenar la vía de acceso y recuperarla
en su script como en el ejemplo siguiente.

PUBLIC Solución de problemas


34 PÚBLICO Solución de problemas y soporte
Para obtener más información sobre las variables de Cloud Factory, consulte la sección Declaring Environment
Variables from SAP Intelligent RPA Factory.

 Código de ejemplo

var mypath;
//
----------------------------------------------------------------
// Step: get_path_var
//
----------------------------------------------------------------
[Link]({ get_path_var: function(ev, sc, st) {
var rootData = [Link];
[Link]('Custom_getPathVar', 'c514ca1b-3d9d-445b-
a2e3-069c9a7b9397') ;

// Describe functionality to be implemented in JavaSript


later in the project.

// Declare setting path


[Link]({ MyPath: {
comment: "[Link]",
server: true
}});
// Get setting
[Link](function(code, label, setting) {
if (code == [Link]) {
// get value from [Link]
mypath = [Link];
[Link](mypath);

} else{
[Link]('Error during setting retrieval');
[Link](); // pSapGlobalCloud8L_man
return;

}
[Link](); // code_
return;

});

}});

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 35
Archivos de salida

En caso de que su escenario requiera uno o varios archivos de salida, se recomienda crear la carpeta de salida
localmente.

 Código de ejemplo

//this will create a folder 'output' under the path


'Desktop\Automations\ProjectName'

[Link]([Link]([Link]
sktop) + "\\Automations\\"+ [Link] + "\\output")

1.2.8 Prácticas recomendadas para la extensión de Chrome

A veces puede encontrarse con un problema si ha activado la Extensión de SAP Intelligent RPA para Chrome
dos veces.

Contexto

Para obtener más información sobre cómo habilitar la extensión del navegador web para Chrome, consulte
Configuración de navegadores web.

Si ha activado la Extensión de SAP Intelligent RPA para Chrome dos veces, pueden surgir los siguientes
problemas:

• Cuando quiera capturar una aplicación, verá que la aplicación aparece dos veces en el panel Capturar
aplicación. Esto sucede incluso aunque una de las aplicaciones se inicie en el navegador Chrome.

PUBLIC Solución de problemas


36 PÚBLICO Solución de problemas y soporte
• Cuando quiera capturar páginas de una aplicación, verá que la misma página aparece dos veces en el panel
Capturar página.

• Cuando se inicia la aplicación web en el navegador Chrome, no se reconocen la página ni la aplicación.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 37
• Este problema se resuelve actualizando la página manualmente. Cuando se reconoce la página, verá que la
misma página aparece dos veces.

Desactivar una de las extensiones

1. Introduzca chrome://extensions/ en la barra de búsqueda de Google.


Observará que tiene dos extensiones de SAP Intelligent RPA para mosaicos de Chrome.

PUBLIC Solución de problemas


38 PÚBLICO Solución de problemas y soporte
2. Verifique las versiones de las extensiones y desactive la que tenga la versión más antigua.

Información relacionada

Configuración de navegadores web

1.2.9 Mejores prácticas para gestionar la ventana emergente


Servidor ocupado

En esta sección se describen las mejores prácticas para gestionar una ventana emergente ocupada por el
servidor mientras se ejecuta una automatización.

Síntoma

• Workflow bloqueado. El proceso se bloquea y no se procesa nada después.


• La ventana emergente Servidor ocupado a menudo no se puede cerrar.
• La mayoría de las veces, el systray de agente ya no reacciona.
• Para detener el agente, es necesario detener el proceso.
• A veces, la ventana emergente Servidor ocupado puede desaparecer después de un tiempo y, a
continuación, continuar el proceso.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 39
Origen

La ventana de diálogo Servidor ocupado se inicia cuando

• La aplicación de destino está ocupada por completo y no puede responder a las solicitudes del agente.
• Se está ejecutando un JavaScript largo en una página web
• La página está descargando o cargando un gran conjunto de datos (descargando un archivo, buscando
datos en el back end, etc.).
• La aplicación va lenta o está en un entorno de tamaño inferior
• El agente intenta hacer una acción en esta misma aplicación al mismo tiempo (clic() o actualizar() o …)

La solución depende del conector técnico, pero básicamente debemos asegurarnos de que la aplicación esté
disponible antes de hacer nada más.

En algunos casos, se origina completamente a partir de la aplicación de destino. Esto significa que esta
ventana emergente podría iniciarse mediante una acción manual simple sin ningún agente en ejecución.

En ese caso, depende del usuario determinar cuándo puede ocurrir esto y cómo evitarlo manualmente. Tendrá
que imitarlo en su workflow.

Sin embargo, por experiencia, la mayoría de las veces la ventana emergente se desencadenará con el propio
agente ([Link]), aunque esté relacionada con la falta de disponibilidad de su aplicación.

La ventana emergente ocupada por el servidor debería desaparecer después de detener el agente.

Si proviene del agente, existen dos posibles orígenes técnicos que deben identificarse.

• SDK
• El SDK solicitará al conector técnico que realice acciones y solicitará un feedback.
• Sondeo personalizado y sondeo en el elemento ([Link]())
• Clic en un elemento
• Execscript
• Conector técnico
• El conector, junto a la ejecución de solicitudes del SDK (véase arriba), solicitará principalmente el
estado de la aplicación gestionada
• CARGA, espera de páginas
• Sondeo en páginas
• Inicio de la aplicación

Recordatorio
En cualquier caso, es esencial que identifique las acciones que pueden dar lugar a esta ventana emergente. La
mayoría de las veces, esta ventana emergente aparecerá constantemente en los mismos pasos del workflow.

Aunque solicite ayuda, le pediremos que proporcione dicha información.

Le recomendamos encarecidamente que utilice traces de proyecto para ello; consulte el artículo de la base de
conocimientos de SAP 2776434 .

Cómo verificar la ventana emergente Servidor ocupado es de tipo conector


• Identifique el evento que lleva a la ventana emergente en su workflow y todas las acciones circundantes,
utilizando finalmente traces de proyecto. Consulte el artículo de la base de conocimientos de SAP
2776434 .

PUBLIC Solución de problemas


40 PÚBLICO Solución de problemas y soporte
• Un clic en un botón
• La CARGA de una página específica
• Llamada de un script en una página
• Descarga de un archivo
• …
• Iniciar el depurador sin iniciar ningún workflow
• Replicar manualmente la acción que habría realizado el workflow justo antes de la aparición de esta
ventana emergente
• Si no aparece nada, el conector no desencadena este problema
• Significa que la espera o la CARGA en las actividades de las páginas no son las que desencadenan
esta ventana emergente.
• Es seguro esperar a esas páginas y la causa probable del problema debería estar relacionada con las
acciones solicitadas por el agente.
• Si aparece la ventana emergente Servidor ocupado:
• Si la aplicación se captura con tecnología UIAutomation, consulte la subsección Tipo conector de la
sección Solución y solución provisional.
• De lo contrario, abra un incidente en el componente CA-ML-IPA. Será un posible bloqueador.

Cómo verificar la ventana emergente Servidor ocupado es de tipo SDK


• Identifique el evento que lleva a la ventana emergente en su workflow y todas las acciones circundantes,
utilizando finalmente traces de proyecto. Consulte el artículo de la base de conocimientos de SAP
2776434 .
• Un clic en un botón
• La CARGA de una página específica
• Llamada de un script en una página
• Descarga de un archivo
• …
• Iniciar el depurador sin iniciar ningún workflow
• Copiar y pegar acciones (acciones específicas y acciones circundantes) del workflow que parece llevar a
este problema
• Deshacerse de cada actividad de escenario (endStep, endScenario, return, gestión de datos…)
• A menudo se verá como un clic en un elemento que lleva a un programa de control de espera
de página o LOAD, que conduce a una acción específica como otro clic o sondeo de elementos o
ejecución de script personalizado.

En el caso de la ventana emergente Servidor ocupado, identificamos varias actividades posibles que conducen
a esto, pero no es exhaustivo, son actividades SDK. El SDK esperará un feedback del conector técnico que
puede estar pendiente esperando un feedback de la aplicación no disponible:

• Sondeo personalizado en una página ([Link])


• Sondeo de elementos ([Link])
• UIAutomation refresh()
• execscript web

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 41
Hay actividades que no solicitarán dicho feedback y que deberían ayudar a encontrar una solución o solución
alternativa:

• Utilizar la espera en una página tanto como sea posible


• En un elemento debe existir una espera larga para evitar el sondeo de elementos ([Link])
• lockRefresh/unlockRefresh de UIAutomation para evitar que el conector inunde la aplicación

Solución y solución provisional

Tener una aplicación optimizada [página 63] es muy importante en este caso. La optimización de una
aplicación reducirá el coste de solicitar el estado de la aplicación, la página y el elemento.

Esto limitará la presión sobre una posible aplicación compleja.

 Nota

Las prácticas recomendadas sobre el reconocimiento con UIAutomation consisten en evitar Debe
existir/No debe existir cuando sea posible. En este caso, es posible que tengamos que usarlos debido
a la necesidad de evitar sondeos en elementos. ([Link]/[Link])

Tipo SDK
UIAutomation/tecnología web

La página ha tardado mucho tiempo en cargarse o está descargando o cargando datos y experimenta este
problema al enviar una acción a la página. Es posible que esta página aún no esté completamente disponible o
que no se haya cargado con datos completos.

• Busque cualquier elemento que seguramente indique una CARGA completa de su página
• Actualización de título
• Actualización de paginación
• Elemento cargado completamente
• El elemento ya no está atenuado
• Desaparición del icono Cargando
• …
• Declararlo como MustExist en esta página, con criterios adecuados que indiquen el estado del elemento
esperado (no atenuado, no mostrar ninguno...)
• Esperar a la página relacionada también esperará este elemento sin sondeo SDK.
• Hacer un [Link] es una solicitud SDK
• Tener un "Debe existir" en el mismo elemento es solo una obligación del conector (entonces el SDK no
solicitará feedback > no habrá ninguna ventana emergente con servidor ocupado)

Tecnología GUI

Subpáginas

La subpágina puede provocar este problema. Entonces, debe evitar tener subpáginas GUI. Si no se reconoce
una subpágina GUI, SAP GUI se bloqueará, lo que provocará una ventana emergente ocupada por el servidor.

Debe existir/No debe existir (optimización pasiva)

PUBLIC Solución de problemas


42 PÚBLICO Solución de problemas y soporte
Tener demasiados elementos Debe existir/No debe existir elevará el coste del reconocimiento de páginas.
Tendrá un impacto directo en la disponibilidad de la aplicación y en la apariencia de la ventana emergente. Así
pues, se recomienda limitar su número en la medida de lo posible.

Optimización activa de GUI

A pesar de deshacerse de las subpáginas y tener un número limitado de "Debe existir" y "No debe existir",
es posible que todavía se encuentre con el problema y, en ese caso, tendrá que aplicar una optimización
activa. Esto se hace utilizando una actividad y un método específicos en el workflow: setBusyWaitTime,
resetBusyWaitTime, lockRefresh y unlockRefresh.

• setBusyWaitTime y resetBusyWaitTime
La transacción SAPGUI puede estar ocupada al cargar páginas o al realizar tareas específicas. Es
importante evitar realizar una acción mientras se tiene una transacción ocupada. El agente siempre
intentará llevar a cabo una acción cuando la transacción no está ocupada. Si la sesión está ocupada
incluso después de un temporizador declarado, aparecerá una sesión de mensaje ocupada.
Estos dos métodos se utilizan para Extend the Wait Period When the SAP Session is Busy
El método setBusyWaitTime debería llamarse en el primer paso de un workflow. Normalmente se utiliza en
la página al gestionar la página de Easy Access.

[Link](//tiempo en milisegundos);
Por defecto, el tiempo de espera ocupado es de 1 segundo (1000 ms) y se puede modificar. Todas las
sesiones abiertas durante el proceso utilizarán ese tiempo para gestionar cada acción realizada en las
páginas de SAP GUI.
Cada acción realizada por el conector verificará regularmente hasta el temporizador si SAP GUI está
ocupado o no.
Utilice siempre resetBusyWaitTime cuando finalice el workflow como práctica recomendada.
• lockRefresh y unlockRefresh
UIAutomation y el conector técnico de SAPGUI están trabajando con el mecanismo de sondeo.
Actualizarán regularmente el estado de la aplicación gestionada desde el punto de vista del agente, así
como por su contenido. La actualización se realiza solicitando el estado directamente a la aplicación (y
potencialmente estresándola).

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 43
Estas actualizaciones pueden tardar un tiempo en procesarse y el mecanismo de sondeo puede inundar la
aplicación.
Al realizar una acción durante un sondeo, se puede generar una ventana emergente ocupada por el
servidor.
No hay manera de ralentizar el mecanismo de sondeo con tecnología GUI (a diferencia de UIAutomation).
Estas dos funciones se utilizan para evitar que el conector actualice el contenido de la página desde el
punto de vista del agente. Permitirá tener tiempo para realizar acciones mientras se evita la aplicación
gestionada por inundaciones.
Utilícelo dentro de un receptor de espera cuando sepa que la página está cargada correctamente
[Link](function(ev) {
[Link]();
// >>> perform actions <<<
[Link]();
});
No olvide UnlockRefresh al final del paso porque el conector no verá los siguientes eventos como nueva
llegada de página.

 Nota

El sondeo automático puede ralentizar cada acción realizada en una página, especialmente cuando
esta página no se puede optimizar, tiene muchos elementos, profundidad y muchos elementos "Debe
existir" o "No debe existir".

Tipo conector
UIAutomation

• Si el SDK no genera la ventana emergente:


• Intente incluir la página con las funciones de bloqueo y desbloqueo de actualización. Compruebe si no
se ha producido el error de trabajo del servidor. (vea cómo hacerlo en lockRefresh y unlockRefresh)
• Cuando aparezca la ventana emergente de servidor ocupado, espere unos segundos para ver si la
ventana emergente desaparece automáticamente y continúa la ejecución del bot. En ese caso, puede
que no sea un bloqueador.
• Desactivar el sondeo automático
• En Studio, vaya a la página > parámetros > defina refreshmode= no.

PUBLIC Solución de problemas


44 PÚBLICO Solución de problemas y soporte
• Este modo impedirá la actualización automática de la página. Incluso si se modifica la página (nuevo
contenido, nuevos elementos), esas actualizaciones no se verán automáticamente.
• Llame [Link] o [Link] en el estado de actualización de código de la aplicación desde el
punto de vista del agente siempre que espere una actualización desde la página.

1.2.10 Eventos asincrónicos en bucles For

A veces tiene ejecutar algunas acciones varias veces en el workflow de su automatización. La mayoría de las
veces utiliza un bucle For directamente en el código para hacerlo. Este método funciona bien si realiza acciones
simples como fijar valores en un archivo Excel u obtener valores de una matriz.

Sin embargo, si realiza tareas asincrónicas como llamadas de API o espera elementos, el bucle For no espera
hasta el final de las acciones asincrónicas para ejecutar la siguiente iteración y, por lo tanto, no funciona de la
forma prevista. La siguiente iteración se ejecuta una vez que se realiza la acción asincrónica. Como resultado,
el paso posterior al bucle For se puede ejecutar antes de que finalicen todas las acciones asincrónicas. Si el
siguiente paso necesita datos de eventos asincrónicos anteriores, estos datos no se pueden fijar a tiempo.

Llamadas API en un bucle For

El siguiente ejemplo demuestra el comportamiento de realizar llamadas API en un bucle For:

A veces es necesario realizar una llamada API varias veces. Para ello, primero cree su llamada API y rodéela de
un bucle For. A continuación, añada el siguiente paso (como una sencilla actividad Grabar en log).

En el siguiente código puede esperar que el bot llame la API tres veces e imprima el resultado tres veces y, a
continuación, imprima el mensaje de log Workflow finalizado.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 45
En el depurador puede ver que el último mensaje de log se imprime antes que los resultados de todas las
llamadas API. Esto se debe al uso del bucle For. El bucle For no espera hasta el final de la ejecución del
evento asincrónico para realizar la siguiente iteración. Después de todas las iteraciones se llama el método
[Link]() para que se ejecute el siguiente paso. Sin embargo, este último paso se ejecuta antes de que
todas las llamadas API hayan finalizado su ejecución. Ese es el motivo por el que todos los logs no están en el
depurador en el orden correcto previsto.

Llamadas API con actividades de bucle


Para evitar este comportamiento durante la ejecución de su bot debe utilizar las actividades de bucle
disponibles en Desktop Studio. Estas actividades garantizan que el siguiente paso se ejecute después del
final de un evento asincrónico.

PUBLIC Solución de problemas


46 PÚBLICO Solución de problemas y soporte
Puede añadir directamente estas actividades de buble al editor workflow del Desktop Studio. El ejemplo
anterior se puede transformar de la siguiente manera:

Como se ha mencionado anteriormente, cada paso se llama después de ejecutar el anterior. Como resultado,
la actividad Finalizar bucle se ejecuta una vez que la actividad Llamar un servicio Web ha finalizado su ejecución
y obtiene el resultado de la API.

En el depurador puede ver que el orden de todos los logs es el correcto según lo previsto.

De este modo, la implementación de actividades de bucle garantiza que todos los pasos se ejecuten en el
orden correcto.

Actividad de espera en un bucle


El siguiente ejemplo muestra el comportamiento de la ejecución de la actividad de espera en un bucle:

A veces debe esperar un tiempo antes de ejecutar la siguiente actividad y se produce el mismo
comportamiento que se ha descrito anteriormente en la sección Llamadas API en un bucle For.

En el siguiente código puede ver que se produce el mismo error que en la sección Llamadas API en un bucle
For.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 47
Actividad de espera con actividades de bucle

Para ejecutar todos los pasos en el orden correcto debe modificar el código anterior y utilizar actividades de
bucle de la siguiente manera:

Por lo tanto, la implementación de actividades de bucle garantiza que todos los logs de índice se impriman
antes que el log final.

PUBLIC Solución de problemas


48 PÚBLICO Solución de problemas y soporte
1.3 Cloud Factory

Están disponibles las siguientes notas de la base de conocimiento relacionadas con Cloud Factory:

• Error "No se puede crear el paquete. La versión del paquete ya existe para 'ProjectName'" al intentar
importar un proyecto en Factory - 2792210
• "Factory no ha podido cargar insufficient_scope: Alcance insuficiente para este recurso" - 2802932
• No pasa nada al iniciar un escenario no asistido con Desktop Agent - 2796491
• Cómo ocultar la información del equipo o del inicio de sesión: 3056143

1.3.1 Alcance insuficiente

El error de alcance insuficiente aparece cuando se intenta acceder al servicio de SAP Intelligent RPA Factory.

Contexto

Este error significa que el proceso de incorporación de SAP Intelligent RPA no se ha completado totalmente.
Los roles correctos no se han configurado y asignado.

Para resolver este problema, debe añadir roles y usuarios a estos roles.

Configurar roles

1. En la pestaña Seguridad de su subcuenta, vaya a Colecciones de roles.

 Nota

Debe tener el rol Administrador de seguridad para acceder a la pestaña Seguridad en el cockpit de SAP
BTP (Business Technology Platform).

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 49
2. Cree una Nueva colección de roles.

3. Haga clic en la colección de roles que acaba de crear y seleccione Añadir rol.

4. En la lista desplegable Identificador de aplicación, seleccione el rol IRPAOfficer para crear el administrador
del arrendatario.

5. Cierre la sesión y vuelva a iniciarla para que se consideren sus nuevos roles.

PUBLIC Solución de problemas


50 PÚBLICO Solución de problemas y soporte
Asignar roles a usuarios

 Nota

Repita esta operación para todos:

• Los usuarios que quieren configurar bots en Cloud Factory: añada el rol IRPAOffice a estos usuarios.
• Los usuarios que quieren ejecutar bots: añada el rol IRPAAgentUser (asegúrese de que el rol esté
configurado en la colección de roles).

1. Vaya a Configuración de confianza y haga clic en SAP ID Service.

2. Introduzca la dirección de correo electrónico de su usuario y haga clic en Mostrar asignación. Si es


necesario, haga clic en Añadir usuario.

3. Haga clic en Asignar colección de roles y seleccione el rol necesario.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 51
1.4 Cloud Studio

• Algunas actividades no pueden editarse después de cambiar a una versión inferior de un SDK -
3025037
• Cómo configurar Outlook para utilizar SAP Intelligent RPA Outlook SDK - 3048085
• Qué hacer si la actividad Fijar valor de la variable no funciona con subpropiedades de objeto -3145604

1.4.1 Asignación de funcionalidades de Cloud Studio y


Desktop Studio

Las funcionalidades de Desktop Studio se encuentran en Cloud Studio con la misma nomenclatura o con
otra diferente. Las funcionalidades que tienen funciones similares o avanzadas sirven para lo mismo que en
Desktop Studio.

El contexto

Crear carpeta

En Desktop Studio, el contexto es el administrador de datos y se utiliza para gestionar todos los datos que
surgen al ejecutar un escenario. Así, se puede encontrar la misma funcionalidad en Cloud Studio con otra
nomenclatura, a saber Parámetros de entrada/salida.

En Desktop Studio, Contexto >Crear carpeta = En Cloud Studio, Parámetros de entrada/salida.

PUBLIC Solución de problemas


52 PÚBLICO Solución de problemas y soporte
Puede tener el tipo de datos de lista. En Cloud Studio, debe marcar la casilla de selección Lista para que el tipo
se muestre como una matriz (por ejemplo, una lista).

Para conocer más detalles sobre cómo administrar datos, consulte la sección Gestionar datos dentro de una
automatización.

Crear elemento

En Desktop Studio, Contexto>Crear elemento = En Cloud Studio, Tipos de datos (editor predefinido o de tipo
de datos).

1.4.2 Definir el control "Para cada" para elementos sin


cuadro de límite

Cuando captura elementos que no tienen cuadros de límite, no puede utilizar el control Para cada.

Contexto

Cuando captura una pantalla que tiene elementos recurrentes como varios enlaces, puede utilizar el control
Para cada. El control Para cada se aplicará a todos los elementos recurrentes.

Si añade actividades al control Para cada, se aplicarán a todos los elementos recurrentes relacionados.

Cuando está trabajando en pantallas capturadas, los elementos capturados a veces no son visibles porque no
tienen cuadros de límite. Por lo tanto, no puede utilizar Para cada.

Para resolver esta limitación, puede utilizar la actividad Script personalizado.

Definir el control "Para cada" para elementos sin cuadros de límite

1. Desde el panel lateral Información de automatización, arrastre y suelte una actividad de Script
personalizado en su automatización.
2. En el panel lateral Detalles del paso, haga clic en Editar script.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 53
3. Seleccione una salida de tipo Cualquiera.

4. En el panel central, añada la función getItems al final de todos los elementos ocultos (porque no tienen
ningún cuadro de límite).

PUBLIC Solución de problemas


54 PÚBLICO Solución de problemas y soporte
5. Añada el control Para cada a su automatización.
6. En el panel lateral Para cada, seleccione la salida fijada anteriormente como entrada en el campo Fijar lista
de bucle.

Ahora puede utilizar el control Para cada.

Para obtener más información, consulte Para cada.

1.4.3 Desbloquear una sesión bloqueada durante la ejecución


de automatización

Cuando el bot se ejecuta en modo no asistido, a veces es necesario desbloquear la sesión para realizar
actividades. Por ejemplo, las actividades de pulsación y clic del ratón requieren desbloquear la sesión que se va
a realizar. Si ha configurado sus credenciales de Windows en Desktop Agent, la sesión se desbloquea y vuelve a
bloquear automáticamente cuando se deben realizar dichas actividades.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 55
 Nota

Se recomienda utilizar la automatización de IU en escenarios en los que el equipo no se desbloquea.

Para asegurarse de que la sesión se desbloquee y bloquee, primero debe configurar sus credenciales de
Windows en el archivo Desktop Agent. Para obtener más información sobre cómo almacenar sus credenciales
de Windows, consulte Establecer la contraseña de Windows en Desktop Agent.

Desktop Agent usa sus credenciales para desbloquear automáticamente la sesión. Una vez realizada la
actividad, la sesión se vuelve a bloquear automáticamente 10 segundos después de la acción.

Para obtener más información, consulte Cómo configurar un bot no asistido.

1.4.4 Aplicación de IU en ejecución con privilegios superiores

Siempre que tenga alguna aplicación que se ejecute con más privilegios que el agente de escritorio (modo
de administración), el agente no podrá interactuar con la aplicación. Podrá llevar a cabo actividades de solo
lectura, como resaltar, obtener el valor de un campo, etc., pero no podrá efectuar actividades como hacer clic
en un elemento, fijar un valor en un campo, etc. Por lo tanto, experimentará problemas técnicos si su aplicación
se ejecuta con un privilegio superior, como el modo "Admin".

1.4.5 Launch SAP Logon in Unattended Mode

Prerequisites

You have created environment variables in a project, as described in Variables de entorno.

PUBLIC Solución de problemas


56 PÚBLICO Solución de problemas y soporte
You have created one or several automations in SAP Build Process Automation, as described in Crear una
automatización.

Context

You can launch the SAP Logon application with an unattended bot using the custom script activity,
environment variables, and scheduled trigger.

The following use case demonstrates how to launch the SAP Logon application in unattended mode.

Procedure

1. In your automation, on the right-hand side panel, go to the Controls section.


2. Drag and drop Custom Script activity in your workflow.

3. Select Custom Script and click on Edit Script.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 57
4. Add the variables that you want to use in the script so when you write the script, the binding between those
variables and the input values are made. You need to use the system, the client, the user, and the password
as input values. For the password input value, specify the type as “password” so that you can protect your
password.
5. Write the following line inside the script:

irpa_core.[Link](‘[Link]’, ‘-system=’ + system + ‘ -client=’ +


client + ‘ -user=’ + user + ‘ -pw=’ + password);

This line makes the SAP Logon starts and logs in with the system, the client, the user, and the password
you specified. You concatenate your variables to the line that gets executed on a shell by the automation.

PUBLIC Solución de problemas


58 PÚBLICO Solución de problemas y soporte
6. Add the variables to the Custom Script activity. For every input parameter, write the name of the variable
and then click on the variable that suggests the blue E before. Click on the close cross to close the edit tab.

Results

Now the automation to SAP logon is complete and you can setup the environment to launch this automation in
unattended mode.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 59
Next Steps

1. Now that you finished designing your project, you need to create a package to add the project to your
environment. For more information, see Generar paquetes.

2. Once you generate the package, add the package to your environment. For more information, see Añadir
paquetes a un entorno.

You can also set values to environment variables when deploying a package in the environment. For more
information, see Variables de entorno desde Cloud Studio.

PUBLIC Solución de problemas


60 PÚBLICO Solución de problemas y soporte
3. Add a trigger to define how and when the automation job will run. For more information, see Añadir
desencadenadores a un entorno.

As you want to run the automation in unattended mode, you must select the trigger type Scheduled. For
more information, see Añadir un desencadenador programado.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 61
4. Once you finalized the setup of your trigger, click (More options...) button on the trigger tile and then
select Run now.

 Nota

You must select your agent in Unattended mode directly in the agent systray. The first time you launch
the bot, the following pop-up can appear.

You can check the Remember My Decision checkbox and click the Allow button to not display the
pop-up anymore.

PUBLIC Solución de problemas


62 PÚBLICO Solución de problemas y soporte
1.4.6 Mejores prácticas para optimizar un elemento

En esta sección se describen las mejores prácticas para optimizar un elemento.

Introducción

La automatización de cualquier tipo de aplicación (web, UIAutomation, etc.) solo se puede hacer
correctamente con un buen reconocimiento de páginas y elementos.

 Nota

El reconocimiento de su aplicación y de un elemento es tan importante como el desarrollo de su workflow.


Si no se hace correctamente, es posible que la automatización no funcione correctamente.

Esto incluye cosas como:

• Utilizar los criterios más exclusivos para cada página y elemento.


• Asegurarse de que el conector ve el elemento como unívoco (por ejemplo, utilizando el depurador).

A veces no basta con esto y se pueden ver algunos efectos secundarios durante la automatización.

Por ejemplo, si aparece el mensaje de error “Se ha agotado el tiempo de esperando la respuesta del piloto”,
significa que debe optimizar el reconocimiento del elemento de destino. Técnicamente hablando, el conector
envía la acción al elemento, pero se tarda demasiado tiempo en devolver una respuesta.

Pestaña Reconocimiento

En SAP Intelligent RPA 1.0 tenemos la posibilidad de ver cuántas pruebas hace el conector para reconocer una
página o elemento en particular.

Estas pruebas pueden ayudarnos a saber si se debe hacer o no una optimización.

En Desktop Studio, en el lado del reconocimiento de aplicaciones, mire a la derecha después de los
parámetros; debería ver el botón "Reconocimiento".

Al hacer clic en cada página de una aplicación, verá cuántos tests se hacen para reconocer cada elemento.

Como se puede ver a continuación, algunos de los elementos tienen más de 4000 pruebas antes de ser
reconocidos.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 63
Número de pruebas

Lo que queremos es tener menos pruebas como sea posible y llegar a 1 prueba si es posible.

Para ello, tendremos que optimizar el reconocimiento con capacidad de reconocimiento avanzado.

 Nota

Dependiendo del conector, no siempre es necesario optimizar cuando hay una gran cantidad de pruebas.

Web: Este conector es rápido y tener 500 – 1000~ no es una gran cantidad de pruebas; la automatización
puede funcionar de manera rápida y adecuada.

SAP GUI: Al utilizar un ID/nombre como criterio para un elemento (tener unas 3000 pruebas no es un
problema en este caso, ya que el conector ya se beneficia de una optimización interna).

No hay un "buen" rango de pruebas, ya que depende de la tecnología. Como se ha comentado anteriormente
para la web, puede haber 1000 y aun así funcionar bien, pero para UIAutomation sería demasiado.

Para cualquier otra situación, se debe implementar el uso del reconocimiento avanzado.

No es obligatorio en absoluto, pero si ve una automatización lenta, por ejemplo, y desea potenciarla, optimizar
el reconocimiento es probablemente la mejor manera de conseguirlo.

 Nota

: Existe un compromiso entre tener menos pruebas y el número de criterios utilizados para reconocer un
elemento.

Por ejemplo, tendrá un número bajo de pruebas empleando Items Pattern Method. Sin embargo, al hacerlo, si
el DOM de la aplicación cambia, tendrá que volver a a actualizar los criterios.

Debe ser conocido por el desarrollador antes de hacer cualquier desarrollo.

Número de elementos en una página

La optimización también está relacionada con el número de elementos reconocidos en su página.

PUBLIC Solución de problemas


64 PÚBLICO Solución de problemas y soporte
No hay un máximo de elementos por página, pero la práctica recomendada sería tener solo elementos útiles:

• Interacción con entradas durante la automatización


• Elementos utilizados para el reconocimiento avanzado (Anterior, Debe existir, No debe existir, etc.)

Manténgalo lo más pequeño posible, ya que el conector probará, en orden, cada elemento.

Si el conector prueba un elemento sin sentido antes del elemento con el que desea interactuar, perderá un
tiempo valioso.

Conclusión

Como hemos visto, cuando hablamos de optimización del reconocimiento, hay que mirar el panel de
reconocimiento.

No hay un “buen” número de pruebas, cada conector no funciona igual con respecto al reconocimiento.

Si un elemento debe optimizarse, siga los métodos de reconocimiento avanzados.

Como mejor práctica, conserve solo los elementos útiles. Mantener un elemento que no se utiliza durante
la automatización o que no se utiliza para reconocer otro elemento ralentizará todo el reconocimiento de la
página.

Ahora ya sabe más acerca de la optimización y la forma de verificar si una aplicación está bien reconocida.

Encontrará más información sobre el panel de reconocimiento siguiendo este enlace a la documentación
oficial.

1.4.7 Cómo funcionan las pruebas

Cada vez que realiza una prueba local con Cloud Studio y Desktop Agent, suceden varias cosas entre
bastidores que podrían tomar un tiempo durante la prueba inicial:

• Agent se tendrá que reiniciar en "modo de prueba" para activar el canal de comunicación correcto entre
Cloud Studio, la extensión de navegador y el puente Studio
• Los paquetes SDK añadidos dentro de su proyecto:
• Se descargarán de Cloud Studio
• Se desempaquetarán
• Se cargarán en la memoria de Agent
• Los paquetes dependientes (si los hay) se descargarán, desempaquetarán y cargarán siempre que sea
necesario
• El proyecto se descargará, desempaquetará y cargará en la memoria de Agent
• Como el contenido se descarga de Cloud Studio y se procesa en Desktop Agent, los recursos también se
pueden verificar con procesos antimalware o antivirus habituales en segundo plano.

Siempre que pulse el botón de prueba sin realizar ninguna modificación en el proyecto, todos los recursos ya
estarán dentro de Desktop Agent y la prueba se iniciará al instante.

A partir de la versión 2.0.20 de Agent, se han introducido mejoras:

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 65
• Antes de esta versión, cualquier modificación de los stakeholders del proyecto requiere que Agente se
reinicie por completo.
• Con esta versión, una modificación en una automatización no requerirá el reinicio completo Agent. El
tiempo de espera entre dos pruebas se reducirá significativamente.

Sin embargo, para garantizar la estabilidad e integridad del proyecto:

• Si se han actualizado más de diez artefactos desde la última ejecución, Agent se reiniciará por completo.
• Las modificaciones de otros artefactos (como la declaración de aplicación) aún requerirán que se reinicie
Agent.

1.4.8 Ejecutar una automatización desde otra


automatización

Puede ejecutar una automatización determinada durante la ejecución de otra dentro de Cloud Studio. Existen
dos posibilidades: mediante una dependencia directa o mediante un desencadenador de API.

Mediante dependencia directa

Esta es la opción recomendada, ya que es la más fácil de implementar.

Por ejemplo, supongamos que desea ejecutar la "automatización 1" desde el "paquete 1" en la "automatización
2".

1. Vaya a la pestaña Paquetes de Cloud Factory


2. Busque el "paquete 1" y compártalo haciendo clic en el 

PUBLIC Solución de problemas


66 PÚBLICO Solución de problemas y soporte
 Nota

Debe compartir el paquete con Todos los usuarios y seleccionar Lectura como autorización, tal como
se muestra a continuación:

3. Abra el "paquete 2" en Cloud Studio y añada el "paquete 1" como dependencia. Asegúrese de seleccionar
la versión de paquete correcta.

4. Ahora, el primer paquete estará disponible para ejecutar en la lista de automatizaciones de su proyecto.
A continuación, puede decidir si ejecuta las automatizaciones de forma sincrónica o si las ejecuta más
adelante.

Solución de problemas PUBLIC


Solución de problemas y soporte PÚBLICO 67
Encontrará más información en la página de Dependencias.

Mediante desencadenador de API

Esta opción es más compleja. Este método funciona añadiendo un job nuevo a la cola en Cloud Factory. Por lo
tanto, se ejecutará más adelante en su entorno, pero no de forma sincrónica.

Tendrá que crear un desencadenador de API específico y, a continuación, realizar una llamada a un servicio
web para ejecutar la automatización.

Para obtener más información, consulte la página sobre Cómo añadir un desencadenador de API y Ejecutar un
desencadenador de API.

PUBLIC Solución de problemas


68 PÚBLICO Solución de problemas y soporte
Limitaciones de responsabilidad y aspectos
legales

Hiperenlaces
Algunos enlaces se clasifican con un icono y/o con un texto al pasar el puntero del ratón. Estos enlaces proporcionan información adicional.
Acerca de los iconos:

• Enlaces con el icono Está entrando en una página Web que no está alojada por SAP. Al usar este tipo de enlaces, manifiesta su acuerdo (a no ser que se
indique expresamente lo contrario en sus contratos con SAP) con lo siguiente:

• El contenido del sitio al que se accede a través del enlace no es documentación SAP. No puede realizar ninguna reclamación de producto contra SAP en
base a esta información.

• SAP no manifiesta su acuerdo o desacuerdo con el contenido del sitio al que se accede a través del enlace, ni garantiza su disponibilidad o exactitud. SAP
no es responsable de ningún daño causado por el uso de este contenido a menos que los daños se hayan causado por una imprudencia grave o por una
conducta fraudulenta dolosa por parte de SAP.

• Enlaces con el icono Está dejando la documentación para este producto o servicio de SAP en concreto y está entrando en un sitio Web alojado por
SAP. Al usar este tipo de enlaces, manifiesta su acuerdo (a no ser que se indique expresamente lo contrario en sus contratos con SAP) a no realizar ninguna
reclamación de producto contra SAP en base a esta información.

Vídeos alojados en plataformas externas


Algunos vídeos pueden dirigir a plataformas de hospedaje de vídeos de terceros. SAP no puede garantizar la disponibilidad futura de vídeos almacenados en estas
plataformas. Además, cualquier anuncio u otro contenido alojado en estas plataformas (p. ej., vídeos sugeridos o la navegación a otros vídeos alojados en el mismo
sitio), no se encuentra bajo el control o la responsabilidad de SAP.

Beta y otras funciones experimentales


Las funciones experimentales no forman parte del alcance de la entrega oficial que SAP garantiza para futuras versiones. Esto significa que SAP puede modificar las
funciones experimentales en cualquier momento, por cualquier motivo y sin previo aviso. Las funciones experimentales no están previstas para su uso productivo. No
podrá mostrar, probar, examinar, evaluar las funciones experimentales o realizar cualquier otro uso de ellas en un entorno operativo en directo o con datos que no
estén suficientemente fundamentados.
El propósito de las funciones experimentales es obtener de manera anticipada comentarios que permitan a los clientes y partners influir en el producto futuro en
consecuencia. Al proporcionar su opinión (p. ej. en la Comunidad SAP), acepta que los derechos de propiedad intelectual de las contribuciones o de las tareas
derivadas seguirán siendo propiedad exclusiva de SAP.

Código de ejemplo
Cualquier codificación de software y/o fragmentos de código son ejemplos. No están previstos para su uso productivo. El código de ejemplo tiene el único propósito
de explicar y permitir la visualización de las reglas de sintaxis y de redacción SAP no garantiza la exactitud ni la integridad de los códigos de ejemplo. SAP no es
responsable de ningún error o daño causado por el uso de código de ejemplo a menos que los daños se hayan causado por una imprudencia grave o por una conducta
fraudulenta dolosa por parte de SAP.

Lenguaje sin sesgos


SAP apoya una cultura de diversidad e inclusión. Siempre que sea posible, utilizamos un lenguaje imparcial en nuestra documentación para referirnos a personas de
todas las culturas, etnias, géneros y habilidades.

Solución de problemas PUBLIC


Limitaciones de responsabilidad y aspectos legales PÚBLICO 69
[Link]/contactsap

© 2024 SAP SE o una empresa filial de SAP. Reservados todos los


derechos.

Queda prohibida la reproducción o transmisión de cualquier parte de


esta publicación, en cualquier forma o para cualquier fin, sin el permiso
expreso de SAP SE o de una empresa filial de SAP. La información que
aquí se incluye puede modificarse sin previo aviso.

Algunos productos de software comercializados por SAP SE y sus


distribuidores contienen componentes de software con derechos de
autor de otros proveedores de software. Las especificaciones de
productos en cada país pueden ser diferentes.

SAP SE o una empresa filial de SAP SE proporcionan estos materiales


con fines meramente informativos, sin manifestación ni garantía de
ningún tipo. Ni SAP SE ni sus empresas filiales se hacen responsables
de los errores u omisiones en relación con los materiales. Las únicas
garantías para los productos y servicios de SAP SE o de sus empresas
filiales son aquellas especificadas en las cláusulas expresas de garantía
que acompañan a dichos productos y servicios, si las hubiera. Nada de
lo que se incluye en este documento debe interpretarse como garantía
adicional.

SAP y los productos y servicios de SAP mencionados, así como sus


respectivos logotipos, son marcas comerciales o marcas registradas de
SAP SE (o de una empresa filial de SAP) en Alemania y en otros países.
Todos los nombres y servicios de productos son las marcas comerciales
de sus respectivas empresas.

Consulte [Link] para


obtener información y avisos adicionales sobre marcas comerciales.

THE BEST RUN

También podría gustarte