Automatización de Aplicaciones de Escritorio

Las aplicaciones de escritorio no son tan estandarizadas como los son las aplicaciones web, mientras que para aplicaciones web utilizamos en su mayoría comandos que automatizan el navegador, para aplicaciones de escritorio tenemos diferentes métodos según el tipo de aplicación. En esta entrada te mostraremos las consideraciones y métodos que debes conocer antes de comenzar a desarrollar un robot para automatizar aplicaciones de escritorio.

Procesos que pueden presindir de una aplicación

Existen algunos procesos que si bien utilizamos una aplicación para realizarlos, existen métodos que permiten a los robots hacerlo de forma más eficiente. Recuerda que automatizar no es solo hacer robots que repliquen el comportamiento humano frente a la computadora.

En este tipo de aplicaciones se encuentran aquellas actividades que se pueden realizar por terminal o scripts bash, aplicaciones que tienen su versión web y que cuentan con una API o que trabajan bajo algún protocolo. Estos procesos pueden ser:

No necesitas tener instalada la aplicación para automatizar estos procesos, solo debes descargar el módulo correspondiente en nuestro Marketplace. Estos procesos en su mayoría permiten ejecuciones en paralelo.

Aplicaciones con su propio sistema de scripting

Algunas empresas ya conocen el poder de la automatización y nos permiten interactuar con sus aplicaciones a través de su propio sistema de scripting. De esta manera, podemos controlar la aplicación sin necesidad de utilizar el mouse o teclado y utilizar los métodos internos que tiene cada aplicación para automatizar nuestro proceso.

Para automatizar estas aplicaciones es necesario tener instalada la aplicación en la misma máquina donde se ejecutará tu robot. Aplicaciones de este tipo son: SAP, SAPB1, Excel, Word, Outlook y puedes encontrar módulos para automatizarlos en Marketplace. Si conoces alguna aplicación que necesitas automatizar y esta tiene sistema de scripting, comunicate con nosotros y desarrollamos el componente.

Dependiendo de la aplicación, puedes ejecutar más robots al mismo tiempo. Revisa si la aplicación permite abrir múltiples instancias.

Aplicaciones Java o Windows Forms

Aunque algunas aplicaciones no tengan su propio sistema de scripting, si pueden ser automatizados de esta forma a través de las dll de Java o Windows. Automatizar una aplicación por scripting es similar a automatizar una página web, solo necesitas obtener información del objeto que quieres controlar, como el título, la clase, el id, el tipo de objecto, etc.

Esto no puede obtenerse directamente de la aplicación, pero puedes usar alguno de nuestros grabadores como el DesktopRecorder o JavaRecorder. Con esta herramienta puedes grabar las acciones que quieres realizar en la aplicación para luego replicar lo grabado en un robot. No es sencillo determinar que aplicaciones permiten automatizarlo por scripting. La mejor recomendación es descargar los grabadores y revisar si detectan tu aplicación.

La aplicación debe estar instalada en la misma máquina donde se ejecutará el robot y al hacer uso del mouse y/o teclado, no se puede trabajar con robots en paralelo que automaticen el mismo proceso

Otras aplicaciones

Si tu aplicación no se puede automatizar de las formas mencionadas anteriormente, puedes automatizar la aplicación por virtualización y/o comandos de teclado. Para esto, es necesario tener algunas consideraciones:

  • Si el robot se ejecutará en un servidor, revisa la entrada RPA en servidores virtuales
  • Si la aplicación permite utilizar combinaciones de tecla, utiliza el teclado por sobre virtualización. Puedes conocer los shortcut de la aplicación al ver una letra subrayada bajo la palabra donde quieres hacer click. Para replicar en Rocketbot, revisa la siguiente entrada 👉 Enviar Tecla
  • Si se debe extraer información, revisa si puedes usar el portapapeles para copiar el contenido.
  • Como se sacarán capturas de pantalla, se utilizará el mouse o el teclado. No se puede automatizar la misma aplicación en paralelo



Notificación

Desktop \ Notificación

Este comando se usa para mostrar notificaciones de escritorio. Las notificaciones de escritorio son pequeños mensajes emergentes que aparecen en la pantalla de tu computadora para proporcionar información o alertas.

Dato de Entrada Descripción Ejemplo
Icono del mensaje PNG o JPG (opcional) Ruta del icono de la notificación C:/Users/User/Downloads/icon.png
Título del mensaje Título de la notificación Notificación
Mensaje de la notificación Mensaje de la notificación Esto es una prueba!
Imagen de ejemplo

Video de Curso RPA comando Notificación



Enviar Tecla

Desktop \ Enviar Tecla

Envía texto o una tecla especial a la ventana que está en focus, solo se elige una de las dos opciones.

Datos de entrada Descripción Ejemplo
Texto Texto a escribir
Tecla especial Tecla especial a enviar ENTER
Repetir Cantidad de veces a repetir 1
Imagen de ejemplo

Para poder iterar varias veces la misma tecla, la sintaxis es la siguiente: {KEY 5}, donde “KEY” es lo que se quiere enviar, y “5” la cantidad de veces, se puede utilizar cualquier letra y las siguientes teclas (key):

KEY CODE
BACKSPACE {BACKSPACE}, {BS} or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or{DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

💡Nota:
Si necesitamos la tecla contextual, la instrucción es la siguiente: {VK_APPS}
Para más información sobre combinaciones de tecla, revisar https://pywinauto.readthedocs.io/

Video de Curso RPA comando Enviar Tecla



Obtener coordenadas del Mouse

Desktop \ Obtener coordenadas del Mouse

Este comando se usa para recuperar la posición actual del cursor del mouse en la pantalla. Al usar este comando, puedes automatizar tareas que requieren interactuar con ubicaciones específicas en la pantalla.

Datos de entrada Descripción Ejemplo
Segundos de espera Segundos que esperará antes de obtener las coordenadas, lo que nos permite mover el cursor a la posición deseada. 3
Asignar resultado a variable Variable donde guardaremos las coordenadas obtenidas. var
Imagen de ejemplo

💡Nota:
Si no especificas segundos de retraso, el comando capturará la posición del mouse inmediatamente.

Video de Curso RPA comando Obtener coordenadas



Alerta

Desktop \ Alerta

Este comando muestra un cartel de alerta con el mensaje que se indique durante la ejecución de una tarea de automatización. Es útil para mejorar la comunicación e interacción entre el proceso automatizado y el usuario, proporcionando notificaciones o instrucciones importantes

Datos de entrada Descripción Ejemplo
Mensaje Mensaje a mostrar en la alerta. Acepta variables. {alerta}
Imagen de ejemplo

💡Nota:
Ten en cuenta que al mostrar esta alerta, el proceso se detendrá hasta que se haga clic en el botón de aceptar, por lo que no debe usarse en caso de que sea un proceso sin supervisión.

Video de Curso RPA comando Alerta



Mouse Click

Desktop \ Mouse Click

Este comando te permite simular un click en la pantalla en la posición actual del cursor del mouse. Es un comando útil para automatizar tareas que requieren interactuar con interfaces gráficas. Puedes elegir entre los siguientes botones:
👉 left para hacer click con el botón izquierdo
👉 right para hacer click con el botón derecho
👉 middle para hacer click con el botón del medio del Mouse

Datos de entrada Descripción Ejemplo
Button Especifica el botón que se utilizará para el click: left, right o middle. left
Imagen de ejemplo

💡Nota:
Si queremos que lo realice en un lugar especifico, debemos utilizar primero el comando Mover Mouse para indicarle la posición y una vez esté donde lo queremos, utilizamos Mouse Click

Video de Curso RPA comando Mouse Click



Mover Mouse

Desktop \ Mover Mouse

Este comando permite la automatización del movimiento del mouse a una posición específica en la pantalla. Es particularmente útil cuando deseas interactuar con ciertos elementos de escritorio o realizar acciones en coordenadas específicas.

Para usar el comando Mover Mouse, debes proporcionar la posición deseada como coordenadas (x, y). La coordenada x representa la posición horizontal, mientras que la coordenada y representa la posición vertical en la pantalla. Para obtener las coordenadas debemos utilizar el comando Obtener coordenadas del mouse

Datos de entrada Descripción Ejemplo
Posición separada por comas (x,y) Posición donde se moverá el mouse 1045,207

💡Nota:
Es importante asegurarse de que la posición proporcionada esté dentro de los límites de la pantalla para evitar cualquier comportamiento inesperado.

Imagen de ejemplo

Video de Curso RPA comando Mover Mouse