Vai al contenuto

Creazione di macro

Una macro è una serie di azioni della tastiera che è possibile registrare e quindi eseguire. È possibile utilizzare i programmi macro JavaScript per automatizzare le interazioni dell'utente con il terminale. È possibile accedere alle macro ed eseguirle da tutti i dispositivi supportati.

Host Access for the Cloud registra e salva le macro avanzate come JavaScript, semplificando le attività di modifica e miglioramento delle macro registrate. È possibile registrare macro da eseguire in un secondo momento, eseguire macro all'avvio quando la sessione si connette all'host oppure quando si disconnette. È inoltre possibile scrivere macro da zero per eseguire attività complesse che il registratore non è in grado di catturare.

Le macro vengono rese disponibili agli utenti in due modi: create dall'amministratore o registrate dagli utenti stessi per il proprio utilizzo personale. Tutte le macro avanzate sono associate a una sessione e hanno tutte lo stesso obiettivo, ovvero automatizzare l'interazione con l'host. L'unica differenza è costituita semplicemente da quali utenti le possono utilizzare e chi ne gestisce la creazione e la disponibilità:

  • Macro create dagli amministratori

    Gli amministratori creano le macro quando creano le sessioni. Le macro sono specifiche per una sessione e sono disponibili per tutti gli utenti che hanno accesso alla sessione tramite l'icona Macro nella barra degli strumenti. Gli amministratori possono impostare le macro per essere eseguite all'avvio, quando la sessione si connette all'host oppure quando si sconnette.

  • Macro create dagli utenti

    Le macro degli utenti finali sono create dai singoli utenti per le sessioni alle quali sono autorizzati ad accedere. Gli amministratori concedono le autorizzazioni per creare le macro tramite un'impostazione in Regole di preferenze utente. Gli utenti possono accedere alla sessione con le proprie credenziali o con il ruolo Guest. Le macro create dagli utenti Guest sono disponibili per tutti gli utenti Guest. Gli utenti che hanno effettuato l'accesso con le proprie credenziali possono vedere solo le macro create da loro stessi.

    Le macro avanzate sono riportate in ordine alfabetico nell'elenco a discesa disponibile nella barra degli strumenti. Le macro create dall'utente finale sono riportate per prime e sono seguite da un indicatore formato da tre punti verticali di colore grigio che, quando selezionato, visualizza le opzioni Modifica ed Elimina. Le macro create dall'amministratore sono riportate senza l'indicatore poiché non possono essere modificate dall'utente finale.

Utilizzo delle macro

Attenersi alla procedura riportata di seguito per registrare, modificare ed eseguire macro.

Registrazione

  1. Fare clic sull'icona Macro nella barra degli strumenti, quindi fare clic su Registra nuova macro.

    Registra nuova macro

  2. Spostarsi nell'applicazione host per registrare la serie di passaggi da includere nella macro.

  3. Fare clic su Interrompi macro nella barra degli strumenti per interrompere la registrazione. Il pallino rosso lampeggia per indicare che è in corso la registrazione.

  4. Quando richiesto, digitare il nome per la macro.

Modifica

  1. Nell'elenco a discesa Macro, selezionare la macro da modificare. Modifica macro

  2. Fare clic sui tre punti verticali per espandere il campo.

  3. Fare clic su Modifica macro per aprire l'Editor di macro (nel pannello a sinistra).

  4. Utilizzare JavaScript per apportare le modifiche necessarie. È possibile eseguire e salvare la macro modificata utilizzando le icone nella barra degli strumenti nel pannello superiore dell'editor.

Esecuzione

Per eseguire una macro, scegliere la macro nell'elenco a discesa e fare clic su Esegui macro.

È anche possibile mappare dei tasti che attivano automaticamente una macro già registrata. Nella finestra di dialogo delle impostazioni per la mappatura dei tasti, scegliere Esegui macro nell'elenco a discesa Azione. Scegliere una macro da associare con la mappatura del tasto nell'elenco Valore.

Arresto

È possibile interrompere una macro prima che sia completata nell'Editor di macro o nella barra degli strumenti. Fare clic su Interrompi macro per interrompere la macro. Per eseguire nuovamente la macro, tornare alla schermata iniziale delle macro.

Eliminazione

  1. Nell'elenco a discesa Macro, selezionare la macro da eliminare.

  2. Espandere il campo facendo clic sull'icona con i tre punti verticali. Espandi

  3. Fare clic su Elimina.

Visualizzazione

L'elenco a discesa Macro è disponibile dalla barra degli strumenti per tutti gli utenti che sono autorizzati a registrare le macro o che accedono a una sessione in cui le macro sono state registrate precedentemente dall'amministratore per essere utilizzate nella sessione.

Le macro sono elencate in MACRO PERSONALI o MACRO in base al tipo di registrazione.

Tutti gli utenti, sia che abbiano effettuato l'accesso utilizzando le proprie credenziali o come Guest, possono vedere le macro associate alla sessione. Le macro elencate in MACRO PERSONALI sono riportate in ordine alfabetico in base al nome e sono visibili agli utenti che le hanno registrate. Le macro registrate dall'amministratore e allegate a una sessione sono elencate in ordine alfabetico sotto MACRO.

Debug delle macro

Poiché le macro sono scritte con JavaScript ed eseguite nel browser, il modo migliore per effettuare il debug e risolvere gli errori consiste nell'utilizzare gli strumenti incorporati nel browser Web. I browser più recenti sono dotati di set di strumenti avanzati per il debug di codice JavaScript. È possibile inserire punti di interruzione, eseguire il codice un'istruzione alla volta e visualizzare informazioni sul debug.

Suggerimento

JavaScript fa distinzione tra maiuscole e minuscole. Tenere presente questa informazione quando si modifica codice JavaScript.

Per eseguire il debug di una macro:

  1. Aprire la macro per la modifica. Per istruzioni, vedere Utilizzo delle macro.

  2. Aprire gli strumenti di sviluppo del browser.

    Browser Aprire il debugger
    Mozilla Firefox 40.0.3
    • Nella barra degli strumenti, aprire il menu e scegliere Sviluppo.
    • Nel menu Sviluppo web, scegliere Debugger. Il debugger si apre nel pannello inferiore.
    Google Chrome 45.0
    • Nella barra degli strumenti, aprire il menu e scegliere Altri strumenti.
    • Scegliere Strumenti per sviluppatori per aprire il debugger.
    Microsoft Internet Explorer 11
    • Nella barra degli strumenti, aprire Strumenti e scegliere Strumenti di sviluppo (F12).
    • Verrà aperta la scheda Debugger.

  3. Utilizzare uno di questi strumenti nel codice delle macro ed eseguire il codice.

    • debugger

      L'approccio più accurato per il debug consiste nell'utilizzo dell'istruzione 'debugger;'. Quando si inseriscono queste istruzioni nel codice della macro e la si esegue, quando sono aperti gli strumenti di debug del browser l'esecuzione della macro si interrompe a ognuna delle righe che le contengono. È possibile eseguire la macro un'istruzione alla volta, visualizzare il valore delle variabili locali e altre informazioni che è necessario verificare.

      È consigliabile inserire nel codice più istruzioni debugger; per consentire di raggiungere la riga richiesta. La natura asincrona di JavaScript può rendere difficoltosa l'esecuzione del codice un'istruzione alla volta. Questo aspetto può essere ovviato utilizzando più istruzioni debugger; posizionate opportunamente.

      Esempio 1: debugger

         var hostCommand = menuSelection + [enter]';
         debugger; // <— Il debugger del browser si arresterà qui
         ps.sendKeys(hostCommand);
      
    • console.log(), alert()

      Queste due funzioni sono utilizzate comunemente per il debug in JavaScript. Sebbene non offrano la stessa flessibilità dell'istruzione debugger, forniscono un modo veloce per visualizzare le informazioni di debug. Queste funzioni visualizzano le informazioni nella scheda "Console" di JavaScript negli strumenti per sviluppatori del browser.

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

      var hostCommand = menuSelection + [enter]';
      console.log('Command:' + hostCommand); // <— Restituirà la stringa nella scheda "Console"
      alert('Command:' + hostCommand); // Verrà visualizzata una piccola finestra contenente i dati
      ps.sendKeys(hostCommand);
      
    • ui.message()

      L'API Host Access for the Cloud fornisce una funzione ui.message() molto simile alla funzione alert() di JavaScript. È anche possibile utilizzare ui.message() per visualizzare le informazioni di debug.

      Esempio 3: ui.message()

      var hostCommand = menuSelection + [enter]';
      ui.message('Command:' + hostCommand); // <— Verrà visualizzata una finestra di messaggio
      ps.sendKeys(hostCommand);
      

Tenere presente:

  • Esecuzione del codice e istruzioni yield

    Sebbene le istruzioni yield nelle macro rendano le macro più facilmente comprensibili, possono rendere più complessa l'esecuzione del codice un'istruzione alla volta con il debugger. Considerare la possibilità di utilizzare più istruzioni debugger o inserire opportunamente istruzioni debugger di chiamate console.log() per visualizzare le informazioni di debug corrette.

  • Internet Explorer

    Il debugging in Internet Explorer prevede codice trasformato e può risultare più complesso che con altri browser.

Utilizzo dell'API Macro

In Host Access for the Cloud le macro vengono registrate e scritte utilizzando JavaScript.

L'API Macro consiste in un set di oggetti che possono essere utilizzati per interagire con l'host, attendere gli stati delle schermate e interagire con l'utente.

Informazioni su promesse e istruzioni yield

Poiché JavaScript è un linguaggio a thread singolo e utilizza "funzioni di richiamata" e "promesse" per gestire il flusso di esecuzioni attraverso il codice, spesso seguire il codice può risultare difficile. Host Access for the Cloud unisce il concetto di "promessa" con la parola chiave "yield" affinché il codice delle macro possa essere organizzato in modo più lineare.

  • Promesse

    Le promesse sono modelli che consentono di semplificare funzioni che, ad un certo punto, restituiscono risultati in modo asincrono. Tutte le funzioni "wait" e "ui" nell'API Macro restituiscono oggetti di tipo promessa.

  • Yield

    Le macro utilizzano la parola chiave yield per bloccare la loro esecuzione fino a quando non viene risolta o completata una promessa. Quindi anteporre yield alle funzioni "wait" o "ui" mette in pausa l'esecuzione della macro fino a quando la funzione è stata eseguita. È possibile inserire la parola chiave yield prima di qualsiasi funzione che restituisce una promessa, anche davanti alle funzioni personalizzate.

Nota

La capacità di effettuare blocchi di esecuzione della macro combinando yield con la promessa è attivata dalla funzione createMacro().

Errori

Nelle macro gli errori vengono gestiti utilizzando un'istruzione try/catch. Alcune funzioni API possono generare errori se, ad esempio, non è possibile soddisfare le condizioni o se si verifica un timeout. L'errore generato viene rilevato nell'istruzione catch. È possibile eseguire il wrapping di blocchi di codice più piccoli in un'istruzione try/catch per gestire gli errori a un livello più granulare.

Gli sviluppatori di macro possono anche generare errori utilizzando 'throw new Error('Messaggio di errore utile');

Maggiori informazioni