Erstellen von Makros
Ein Makro ist eine Folge von Tastatureingaben, die Sie aufzeichnen und ausführen können. Diese JavaScript-Makroprogramme werden für die Automatisierung von Interaktionen mit dem Terminal verwendet. Sie können mit allen unterstützten Geräten auf Makros zugreifen und sie ausführen.
Die Makros werden von Host Access for the Cloud als JavaScript aufgezeichnet und gespeichert, sodass Sie die aufgezeichneten Makros problemlos bearbeiten und ergänzen können. Sie können Makros für eine spätere Wiedergabe aufzeichnen oder Makros beim Programmstart und beim Verbinden bzw. Trennen der Verbindung zum Host ausführen lassen. Sie können Makros auch ganz neu schreiben, um komplexere Aufgaben auszuführen, die das Aufzeichnungsprogramm nicht erfassen kann.
Makros werden Benutzern auf zwei unterschiedliche Arten zur Verfügung gestellt: Sie werden von einem Administrator erstellt oder von Benutzern für ihre eigene persönliche Verwendung aufgezeichnet. Alle erweiterten Makros sind einer Sitzung zugeordnet und haben mit der Automatisierung der Hostinteraktion alle das gleiche Ziel. Der einzige Unterschied zwischen den beiden Bereitstellungsmethoden ist der Zugriff auf die Makros und die Verwaltung der Erstellung und Verfügbarkeit.
-
Durch Administratoren erstellte Makros
Administratoren zeichnen Makros beim Erstellen der Sitzung auf. Die Makros gelten für eine bestimmte Sitzung und stehen allen Benutzern zur Verfügung, die über das Makro-Symbol in der Symbolleiste Zugriff auf die Sitzung haben. Administratoren können Makros für eine Wiedergabe beim Programmstart oder beim Verbinden bzw. Trennen der Verbindung zum Host zuweisen.
-
Durch Benutzer erstellte Makros
Endbenutzermakros werden von Einzelpersonen für die Sitzungen erstellt, zu denen ihnen Zugriff gewährt wurde. Administratoren erteilen die Genehmigung für die Erstellung von Makros, indem Sie eine Regel für Benutzereinstellungen erstellen. Die Benutzer können mit dem eigenen Berechtigungsnachweis oder über eine Gastrolle auf die Sitzung zugreifen. Makros, die von Gastbenutzern erstellt werden, stehen auch allen anderen Gastbenutzern zur Verfügung. Wenn sich Benutzer mit ihren Anmeldeinformationen anmelden, werden ihnen nur die selbst erstellten Makros angezeigt.
Erweiterte Makros werden in alphabetischer Reihenfolge in der Dropdownliste aufgelistet, die in der Symbolleiste abgerufen werden kann. Die von Endbenutzern erstellten Makros werden am Anfang der Liste angezeigt, gefolgt von einem aus drei grauen vertikalen Punkten bestehenden Symbol, das bei Auswahl die Optionen „Bearbeiten“ und „Löschen“ anzeigt. Die von Administratoren erstellten Makros werden hingegen ohne das Symbol angezeigt, da derartige Makros von Endbenutzern nicht angepasst werden können.
Arbeiten mit Makros
Führen Sie die folgenden Schritte aus, um Makros aufzuzeichnen, zu bearbeiten und auszuführen.
Aufzeichnen
-
Klicken Sie in der Symbolleiste zunächst auf das Makrosymbol und anschließend auf „Neues Makro aufzeichnen“.
-
Navigieren Sie durch die Hostanwendung, um die Schrittfolge aufzuzeichnen, die im Makro enthalten sein soll.
-
Klicken Sie in der Symbolleiste auf , um die Aufnahme anzuhalten. Der rote Punkt blinkt und zeigt somit an, dass die Aufzeichnung gerade durchgeführt wird.
-
Wenn Sie dazu aufgefordert werden, geben Sie dem Makro einen Namen.
Bearbeiten
-
Wählen Sie aus der Dropdown-Liste „Makro“ das zu bearbeitende Makro aus.
-
Klicken Sie auf die drei vertikalen Punkte, um das Feld zu erweitern.
-
Klicken Sie auf , um den Makroeditor zu öffnen (im linken Bereich).
-
Nehmen Sie mit JavaScript die gewünschten Änderungen vor. Sie können das angepasste Makro über die Symbolleistensymbole im oberen Bereich des Editors ausführen und speichern.
Führen Sie
Um ein Makro auszuführen, wählen Sie es aus der Dropdown-Liste aus und klicken Sie auf .
Sie können auch Tasten zuordnen, über die ein bereits aufgezeichnetes Makro automatisch ausgelöst wird. Wählen Sie im Dialogfeld „Tastenbelegungen“ in der Dropdownliste Aktion die Option Makro ausführen aus. Wählen Sie in der Liste Wert ein Makro aus, das der Tastenbelegung zugeordnet werden soll.
Stoppen
Sie können ein Makro jederzeit vor Abschluss über den Makroeditor oder die Symbolleiste anhalten. Klicken Sie auf , um ein Makro anzuhalten. Wenn Sie das Makro erneut ausführen möchten, kehren Sie zum Makro-Startbildschirm zurück.
Löschen
-
Wählen Sie aus der Dropdown-Liste „Makro“ das zu löschende Makro aus.
-
Erweitern Sie das Feld, indem Sie auf das Symbol mit den drei vertikalen Punkten klicken.
-
Klicken Sie auf Löschen.
Anzeigen
Die Dropdown-Liste „Makro“ steht in der Symbolleiste allen Benutzern zur Verfügung, die zum Aufzeichnen von Makros berechtigt sind oder auf eine Sitzung zugreifen, in der Makros vorab von einem Administrator zur Verwendung in der entsprechenden Sitzung aufgezeichnet wurden.
Makros werden, je nachdem, wie sie aufgezeichnet wurden, unter MEINE MAKROS oder MAKROS aufgelistet.
Die der Sitzung zugewiesenen Makros werden allen Benutzern angezeigt. Dies ist unabhängig davon, ob sich die Benutzer mit dem eigenen Berechtigungsnachweis oder als Gast angemeldet haben. Die unter MEINE MAKROS aufgelisteten Makros sind in alphabetischer Reihenfolge nach Name sortiert und sind für die Benutzer sichtbar, die die Makros aufgezeichnet haben. Makros, die von einem Administrator aufgezeichnet und zu einer Sitzung hinzugefügt wurden, sind in alphabetischer Reihenfolge unter MAKROS aufgelistet.
Fehlersuche für Makros
Makros werden in JavaScript geschrieben und im Browser ausgeführt. Daher sollte die Fehlersuche mit den in den Webbrowsern integrierten Werkzeugen durchgeführt werden. Moderne Browser sind mit einer Reihe äußerst wirksamer Werkzeuge zur Fehlersuche in JavaScript-Code ausgestattet. Sie können damit Haltepunkte positionieren, sich durch Code bewegen und Debug-Informationen ausgeben.
Tipp
In JavaScript wird die Groß-/Kleinschreibung beachtet. Achten Sie darauf, wenn Sie JavaScript-Code bearbeiten.
So führen Sie eine Fehlersuche für ein Makro aus:
-
Öffnen Sie das Makro zur Bearbeitung. Anweisungen finden Sie unter Arbeiten mit Makros.
-
Öffnen Sie die Entwicklungswerkzeuge Ihres Browsers.
Browser Debugger öffnen Mozilla Firefox 40.0.3 - Öffnen Sie über die Symbolleiste das Menü, und wählen Sie „Entwickler“ aus.
- Wählen Sie aus dem Menü „Web-Entwickler“ den Eintrag „Debugger“. Der Debugger wird im unteren Bereich geöffnet.
Google Chrome 45.0 - Öffnen Sie über die Symbolleiste das Menü, und wählen Sie „Weitere Tools“ aus.
- Wählen Sie „Entwicklungstools“, um den Debugger zu öffnen.
Microsoft Internet Explorer 11 - Öffnen Sie über die Symbolleiste die „Einstellungen“, und wählen Sie „F12-Entwicklungstools“.
- Öffnen Sie die Registerkarte „Debugger“.
-
Verwenden Sie eines dieser Werkzeuge im Makrocode und führen Sie den Code aus.
-
debugger
Den gründlichsten Ansatz für die Fehlersuche stellt die Anweisung
‘debugger;’
dar. Wenn Sie diese Anweisungen in den Makrocode einfügen und den Makrocode ausführen, während die Entwicklungswerkzeuge des Browsers geöffnet sind, wird die Ausführung an diesen Zeilen angehalten. Sie können das Makro schrittweise ausführen und den Wert der lokalen Variablen sowie weitere zu prüfende Werte anzeigen.Sie sollten mehrere ‘debugger;’-Anweisungen im Code platzieren, um zur richtigen Zeile zu gelangen. Aufgrund der asynchronen Eigenschaft von JavaScript kann die schrittweise Ausführung von Code herausfordernd sein. Wenn Sie mehrere ‘debugger;’-Anweisungen sorgfältig platzieren, können Sie diese Effekte jedoch abmildern.
Beispiel 1:
debugger
var hostCommand = menuSelection + ‘[enter]'; debugger; // <— Der Debugger des Browsers wird hier anhalten ps.sendKeys(hostCommand);
-
console.log(), alert()
Diese beiden Funktionen werden häufig für die Fehlersuche in JavaScript verwendet. Sie sind nicht so flexibel wie eine ‘debugger;’-Anweisung, bieten aber die Möglichkeit, Debug-Informationen schnell auszugeben. Diese Funktionen geben die Informationen an die JavaScript-Registerkarte „Konsole“ in den Entwicklungswerkzeugen des Browsers aus.
Beispiel 2:
console.log(), alert()
var hostCommand = menuSelection + ‘[enter]'; console.log('Command:' + hostCommand); // <— Gibt die Zeichenkette an die Registerkarte "Console" aus alert('Command:' + hostCommand); // Öffnet ein kleines Fenster mit den Daten ps.sendKeys(hostCommand);
-
ui.message()
Die Host Access for the Cloud-Makro-API bietet eine ui.message()-Funktion, die der JavaScript-Funktion alert() sehr ähnelt. Sie können „ui.message()“ auch zum Ausgeben von Debug-Informationen verwenden.
Beispiel 3:
ui.message()
var hostCommand = menuSelection + ‘[enter]'; ui.message('Command:' + hostCommand); // <— Zeigt ein Meldungsfenster an ps.sendKeys(hostCommand);
-
Beachten Sie Folgendes:
-
Schrittweise Ausführung und „yields“
Die yield-Anweisungen tragen zwar zum besseren Verständnis von Makros bei, können jedoch die schrittweise Ausführung des Codes mit dem Debugger erschweren. Daher sollten Sie entweder mehrere debugger-Anweisungen oder sorgfältig platzierte debugger-Anweisungen von
console.log()
-Aufrufen verwenden, um die richtigen Debug-Informationen auszugeben. -
Internet Explorer
Die Fehlersuche in Internet Explorer beinhaltet umgewandelten Code und kann herausfordernder sein als die Fehlersuche in anderen Browsern.
Verwenden der Makro-API
Makros werden in Host Access for the Cloud mit JavaScript aufgezeichnet und geschrieben.
Die Makro-API setzt sich aus einer Reihe von Objekten zusammen, über die Sie mit dem Host interagieren, auf Bildschirmstatus warten und mit dem Benutzer interagieren können.
Informationen zu „promises“ und „yields“
Da JavaScript in einem einzelnen Thread läuft und für die Verwaltung der Ausführung „callback“-Funktionen und „promises“ verwendet, ist der Code möglicherweise schwer nachvollziehbar. Host Access for the Cloud verbindet das Konzept von „Zusagen“ mit dem „yield“-Schlüsselwort, damit Makrocode linear organisiert werden kann.
-
Promises
Promises sind Muster zur Vereinfachung von Funktionen, die an einem in der Zukunft liegenden Punkt Ergebnisse asynchron zurückgeben. Alle Funktionen der Typen „wait“ und „ui“ in der Makro-API geben „promise“-Objekte zurück.
-
Yield
Makros verwenden das „yield“-Schlüsselwort, um die Ausführung des Makros zu blockieren, bis ein „promise“-Objekt aufgelöst oder ausgeführt wurde. Wenn also 'yield' vor einer beliebigen 'wait'- oder 'ui'-Funktion gesetzt wird, wird die Ausführung des Makros angehalten, bis die Ausführung dieser Funktion abgeschlossen ist. Sie können das 'yield'-Schlüsselwort vor jeder Funktion platzieren, die 'promise' zurückgibt, also auch für Ihre benutzerdefinierten Funktionen.
Hinweis
Die Funktion zum Blockieren der Makroausführung durch die Kombination von „yield“ und „promises“ wird in der Funktion createMacro()
aktiviert.
Fehlermeldungen
Fehler werden in Makros mithilfe der 'try / catch'-Anweisung behandelt. Einige der API-Funktionen können Fehler ausgeben, wenn beispielsweise Bedingungen nicht erfüllt werden können oder eine Zeitüberschreitung eintritt. Der ausgegebene Fehler wird in die 'catch'-Anweisung aufgenommen. Sie können kleinere Codeblöcke in einer „try / catch“-Anweisung umbrechen, um Fehler detaillierter zu behandeln.
Entwickler von Makros können Fehler auch über 'throw new Error('Hilfreiche Fehlermeldung');
ausgeben.
Weitere Informationen