Saltar a contenido

Crear Macros

Una macro es una serie de acciones de teclado que usted graba y ejecuta después. Puede utilizar estos programas de macro JavaScript para automatizar las interacciones del usuario con el terminal. Puede acceder a macros y ejecutarlas desde todos los dispositivos compatibles.

Host Access for the Cloud graba y guarda macros avanzadas como JavaScript, lo que simplifica la edición y la mejora de las macros grabadas. Puede grabar macros para reproducirlas posteriormente, ejecutar macros al iniciar o cuando la sesión se conecta o desconecta del host. También puede escribir macros en el bloc de notas para realizar trabajos complejos que la grabadora no puede capturar.

Las macros se ponen a disposición de los usuarios de dos formas: creadas por un administrador o grabadas por los usuarios para su uso privado. Todas las macros están asociadas a una sesión y cumplen el mismo objetivo de automatizar la interacción con el host. La única diferencia entre ambas es sólo quién puede acceder a ellas y quién gestiona su creación y disponibilidad:

  • Macros creadas por administradores

    Los administradores crean macros cuando crean la sesión. Son específicas de una sesión y están disponibles para todos los usuarios que tienen acceso a la sesión desde el icono Macro en la barra de herramientas. Los administradores pueden designar macros para ejecutarlas al iniciar o cuando la sesión se conecta o desconecta del host.

  • Macros creadas por usuarios

    Los usuarios crean macros de usuarios finales para las sesiones para las que tienen autorización de acceso. El administrador concede permiso para crear macros configurando una Regla de Preferencias del Usuario. Los usuarios pueden acceder a la sesión utilizando sus propias credenciales o con función de Invitado. Las macros creadas por usuarios Invitados están disponibles para todos los usuarios Invitados. Los usuarios que han iniciado sesión utilizando sus propias credenciales pueden ver sólo las macros que han creado ellos.

    Las macros avanzadas se listan en orden alfabético en la lista desplegable de la barra de herramientas. Las macros creadas por el usuario final se listan primero y van seguidas de un indicador de tres puntos grises en vertical que, cuando se ha seleccionado, muestra las opciones de Editar y Eliminar. Las macros creadas por el administrador se listan sin el indicador ya que esas macros no pueden ser modificadas por el usuario final.

Trabajo con macros

Siga estos pasos para grabar, editar y ejecutar macros.

Grabar

  1. Haga clic en el icono Macro de la barra de herramientas y haga clic en Grabar Nueva Macro.

    Grabar nueva macro

  2. Navegue por la aplicación del host para grabar las series de pasos que desea incluir en la macro.

  3. Haga clic en Detener en la barra de herramientas para detener la grabación. El punto rojo parpadea para indicar que la grabación está en curso.

  4. Cuando se le pida, escriba un nombre para la macro.

Editar

  1. En la lista desplegable Macro, seleccione la macro que desea editar. Editar macro

  2. Haga clic en los tres puntos verticales para expandir el campo.

  3. Haga clic en Editar para abrir el Editor de macros (en el panel izquierdo).

  4. Utilice JavaScript para realizar los cambios que sean necesarios. Puede ejecutar y guardar la macro modificada utilizando los iconos de la barra de herramientas en el panel superior del editor.

Ejecute

Para ejecutar una macro, elija la macro en la lista desplegable y haga clic en Ejecutar.

También puede asignar teclas que activarán automáticamente una macro ya grabada. En el cuadro de diálogo de configuración Asignar Tecla, seleccione Ejecutar Macro de la lista desplegable Acción. Seleccione una macro a asociar con la asignación de tecla de la lista Valor.

Detener

Puede detener una macro antes de que se complete desde el Editor de Macro o la barra de herramientas. Haga clic en Detener para detener la macro. Para volver a ejecutar la macro, navegue de vuelta a la pantalla de inicio de macro.

Suprimir

  1. Seleccione en la lista desplegable Macro la macro que desea eliminar.

  2. Expanda el campo haciendo clic en el icono de los tres puntos en vertical. Expandir

  3. Haga clic en Eliminar.

Ver

La lista desplegable Macro está disponible desde la barra de herramientas para todos los usuarios que tienen permiso para grabar macros o acceden a una sesión en la que las macros han sido grabadas previamente por el administrador para que se utilicen en esa sesión.

Las macros se enumeran en MIS MACROS o MACROS en función de cómo se hayan grabado.

Todos los usuarios, tanto si han iniciado sesión con sus credenciales o como Invitado, pueden ver las macros asociadas a la sesión. Las macros enumeradas bajo el encabezado MIS MACROS aparecen en orden alfabético por su nombre y están visibles para los usuarios que las hayan grabado. Las macros grabadas por el administrador y asociadas a una sesión se muestran en orden alfabético en MACROS.

Depuración de macros

Como las macros están escritas en JavaScript y se ejecutan en el navegador, la mejor forma de depurarlas y de solucionar los problemas con ellas es utilizar las herramientas integradas en su navegador web. Los navegadores modernos vienen con un set de herramientas muy completo para depurar el código de JavaScript. Puede colocar puntos de interrupción, comprobar el código y obtener información de depuración.

Sugerencia

JavaScript distingue entre mayúsculas y minúsculas. Recuérdelo a la hora de editar el código de JavaScript.

Para depurar una macro:

  1. Abra la macro que se va a editar. Consulte Trabajar con macros para obtener instrucciones.

  2. Abra las herramientas de desarrollo del navegador.

    Navegador Abrir depurador
    Mozilla Firefox 40.0.3
    • Desde la barra de herramientas, abra el Menú y seleccione Desarrollador.
    • Desde el Menú Desarrollador Web, seleccione Depurador. El depurador se abre en un panel inferior.
    Google Chrome 45.0
    • Desde la barra de herramientas, abra el Menú y seleccione Más herramientas.
    • Seleccione Herramientas de Desarrollador para abrir el Depurador.
    Microsoft Internet Explorer 11
    • Desde la barra de herramientas, abra Configuración y seleccione F12 Herramientas de Desarrollador.
    • Abra la ficha Depurador.

  3. Utilice una de las herramientas en el código de macro y ejecute el código.

    • debugger

      El enfoque más minucioso para depurar es utilizar la instrucción "debugger". Cuando usted inserta estas instrucciones en su código de macro y lo ejecuta con las herramientas de desarrollo del navegador abiertas, la ejecución se detiene en esas líneas. Puede comprobar su macro, ver el valor de las variables locales y cualquier cosa que necesite comprobar.

      Le animamos a colocar múltiples instrucciones depurador; en su código para ayudarle a obtener la línea correcta. La naturaleza asíncrona de JavaScript puede hacer difícil la comprobación del código. Esto se puede compensar utilizando múltiples instrucciones depurador; colocadas cuidadosamente.

      Ejemplo 1: debugger

         var hostCommand = menuSelection + [enter]';
         debugger;  // <— El depurador se detendrá aquí.
         ps.sendKeys(hostCommand); 
      
    • console.log(), alert()

      Estas dos opciones se suelen utilizar para depurar JavaScript. Aunque no son tan flexibles como la instrucción Depurador, ofrecen una vía rápida para obtener información de depuración. Estas funciones transmiten la información a la ficha “Consola” de JavaScript en las herramientas de desarrollador del navegador.

      Ejemplo 2: console.log(), alert()

      var hostCommand = menuSelection + [enter]';
      console.log('Command:' + hostCommand);  // <— Proporcioionará la cadena a la pestaña "Console".
      alert('Command:' + hostCommand); // Aparecerá una pequeña ventana que contiene los datos.
      ps.sendKeys(hostCommand);
      
    • ui.message()

      La API de macros de Host Access for the Cloud proporciona una función de ui.message() que es muy similar a la función alert() de JavaScript. También puede utilizar la ui.message() para obtener información de depuración.

      Ejemplo 3: ui.message()

      var hostCommand = menuSelection + [enter]';
      ui.message('Command:' + hostCommand); // <— Aparecerá una ventana de mensaje.
      ps.sendKeys(hostCommand);
      

Tenga en cuenta lo siguiente:

  • Comprobar y “yields”

    Mientras que las instrucciones yield en las macros las hacen más fáciles de entender, pueden hacer la comprobación del código con el depurador más difícil. Considere o bien utilizar múltiples instrucciones de depurador o instrucciones de depurador cuidadosamente colocadas de llamadas console.log() para obtener la información de depuración correcta.

  • Internet Explorer

    La depuración en el Internet Explorer incluye el código transformado y puede ser más difícil que en otros navegadores.

Utilizar la API de macros

En Host Access for the Cloud, las macros se graban y escriben mediante JavaScript.

La API de macros consiste en un conjunto de objetos que puede utilizar para interactuar con el host, esperar estados de pantallas e interactuar con el usuario.

Acerca de promises y yields

Debido a que JavaScript se controla mediante un solo subproceso y utiliza "callback functions" y "promises" para ayudar a gestionar el flujo de ejecución del código, a veces puede ser difícil seguir el código. Host Access for the Cloud combina el concepto de "promises" con la clave "yield" para que el código de la macro se pueda organizar de forma más lineal.

  • Promises

    Promises son patrones que ayudan a simplificar funciones que devuelven sus resultados de forma asíncrona en algún momento en el futuro. Todas las funciones "wait" y "ui" de la API de macros devuelven objetos "promise".

  • Yield

    Las macros utilizan la palabra clave "yield" para bloquear la ejecución de la macro hasta que se resuelva o realice una "promise". Así, si se coloca yield enfrente de cualquier función ‘wait’ o ‘ui’, se detiene la ejecución hasta que esa función ha terminado de ejecutarse. Puede colocar la clave yield enfrente de cualquier función que devuelva una promise, también de sus propias funciones personalizadas.

Nota

La capacidad de bloquear la ejecución de la macro mediante la combinación de «yield» con «promises» está habilitada por la función createMacro().

Errores

Los errores se pueden tratar en las macros utilizando una instrucción try / catch. Algunas funciones API pueden arrojar errores si, por ejemplo, no se cumplen las condiciones o si se sobrepasa el tiempo de espera. El error arrojado es ‘atrapado’ en la instrucción catch. Puede ajustar bloques de código más pequeños en una instrucción try / catch para tratar los errores a un nivel más granular.

Los desarrolladores de macro pueden generar también errores con 'throw new Error('Mensaje de error útil');

Más información