2 JavaScript-Objekte für Browser-Datenpunkte
Überblick
Dieser Abschnitt beschreibt Zabbix-Erweiterungen der mit Duktape implementierten JavaScript-Sprache zur Verwendung im Skript des Browser-Datenpunkts. Diese Erweiterungen ergänzen die auf der Seite Zusätzliche JavaScript-Objekte beschriebenen JavaScript-Objekte.
Browser
Das Browser-Objekt verwaltet WebDriver-Sitzungen, initialisiert eine Sitzung bei der Erstellung und beendet sie bei der Zerstörung.
Ein einzelnes Skript kann bis zu vier Browser-Objekte unterstützen.
Um ein Browser-Objekt zu erstellen, verwenden Sie die Syntax new Browser(options).
Der Parameter options (JSON-Objekt) legt die Browseroptionen fest, in der Regel das Ergebnis der WebDriver-Optionsmethode (zum Beispiel Browser.chromeOptions()).
Die folgenden Methoden werden mit dem Browser-Objekt unterstützt.
| Method | Description |
|---|---|
navigate(url) |
Zur angegebenen URL navigieren. Parameters: url - (string) URL, zu der navigiert werden soll. |
getUrl() |
Einen String der geöffneten Seiten-URL zurückgeben. |
getPageSource() |
Einen String des Quelltexts der geöffneten Seite zurückgeben. |
findElement(strategy, selector) |
Ein Element-Objekt mit einem Element auf der geöffneten Seite zurückgeben (oder null zurückgeben, wenn keine Elemente mit strategy und selector übereinstimmen).Parameters: strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;selector - (string) Elementselektor unter Verwendung der angegebenen Lokalisierungsstrategie. |
findElements(strategy, target) |
Ein Array von Element-Objekten mit mehreren Elementen auf der geöffneten Seite zurückgeben (oder ein leeres Array zurückgeben, wenn keine Elemente mit der Lokalisierungsstrategie und dem Ziel übereinstimmen).Parameters: strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;target - (string) Elementselektor unter Verwendung der angegebenen Lokalisierungsstrategie. |
getCookies() |
Ein Array von Cookie-Objekten zurückgeben. |
addCookie(cookie) |
Cookies setzen. Parameters: cookie - (Cookie object) Zu setzendes Cookie. |
getScreenshot() |
Einen Base64-kodierten String zurückgeben, der ein Bild des sichtbaren Bereichs des Browsers darstellt. |
setScreenSize(x,y) |
Die Größe des sichtbaren Bereichs des Browsers festlegen. Parameters: x - (string) Breite in Pixeln;y - (string) Höhe in Pixeln. |
setScriptTimeout(timeout) |
Zeitüberschreitung für das Laden von Skripten festlegen. Parameters: timeout - (integer) Zeitüberschreitungswert in Millisekunden. |
setSessionTimeout(timeout) |
Zeitüberschreitung für die Sitzung (Seitenladevorgang) festlegen. Parameters: timeout - (integer) Zeitüberschreitungswert in Millisekunden. |
setElementWaitTimeout(timeout) |
Zeitüberschreitung für die Elementlokalisierungsstrategie (implizit) festlegen. Parameters: timeout - (integer) Zeitüberschreitungswert in Millisekunden. |
collectPerfEntries(mark) |
Performance-Einträge erfassen, die mit der Methode getResult() abgerufen werden können.Parameters: mark - (string, optional) Markierung für den Performance-Snapshot. |
getRawPerfEntries() |
Ein Array von Performance-Eintragsobjekten zurückgeben. |
getResult() |
Ein Result-Objekt mit Browser-Sitzungsstatistiken zurückgeben (Fehlerinformationen, Performance-Snapshots usw.). |
getError() |
Ein BrowserError-Objekt mit Browserfehlern zurückgeben (oder null zurückgeben, wenn keine Browserfehler vorhanden sind). |
setError(message) |
Eine benutzerdefinierte Fehlermeldung festlegen, die in das Result-Objekt aufgenommen wird.Parameters: message - (string) Fehlermeldung. |
discardError() |
Den Fehler verwerfen, der im Result-Objekt zurückgegeben werden soll. |
getAlert() |
Ein Alert-Objekt mit Browser-Warnmeldungen zurückgeben (oder null zurückgeben, wenn keine Browser-Warnmeldungen vorhanden sind). |
chromeOptions() |
Ein chromeOptions-Objekt mit vordefinierten Chrome-Browseroptionen zurückgeben. |
firefoxOptions() |
Ein firefoxOptions-Objekt mit vordefinierten Firefox-Browseroptionen zurückgeben. |
safariOptions() |
Ein safariOptions-Objekt mit vordefinierten Safari-Browseroptionen zurückgeben. |
edgeOptions() |
Ein edgeOptions-Objekt mit vordefinierten Edge-Browseroptionen zurückgeben. |
switchFrame(target) |
Zum angegebenen Frame wechseln. Seit Version 7.0.4 unterstützt. Parameters: target - (browser element or integer, optional) Ziel-Frame. Um einen Frame über ein Element auszuwählen, übergeben Sie das Element. Um einen Frame über den Index auszuwählen, übergeben Sie die Zahl. Wenn leer gelassen, wird zum obersten Browsing-Kontext gewechselt. |
Alle Browser-Methoden können die folgenden Fehler auslösen:
BrowserError- vomError-Objekt abgeleitet, wird ausgelöst, wenn derBrowser-Konstruktor fehlschlägt; enthält eine zusätzliche Eigenschaftbrowsermit einemBrowser-Objekt, das diesenBrowserErrorausgelöst hat.WebdriverError- vonBrowserErrorabgeleitet; enthält dieselben Eigenschaften wie dasBrowserError-Objekt, die angeben, ob der Fehler als Reaktion auf einen Fehler in der WebDriver-Antwort erzeugt wurde.
Element
Das Element-Objekt wird von den Methoden findElement()/findElements() des Browser-Objekts zurückgegeben und kann nicht direkt erstellt werden.
Das Element-Objekt repräsentiert ein Element in der Webseite und bietet Methoden zur Interaktion mit ihm.
Die folgenden Methoden werden mit dem Element-Objekt unterstützt.
| Method | Description |
|---|---|
getAttribute(name) |
Gibt einen Attributwert als Zeichenfolge des Elementattributs zurück (oder gibt null zurück, wenn das angegebene Attribut nicht gefunden wurde).Parameters: name - (string) Attributname. |
getProperty(name) |
Gibt einen Eigenschaftswert als Zeichenfolge der Elementeigenschaft zurück (oder gibt null zurück, wenn die angegebene Eigenschaft nicht gefunden wurde).Parameters: name - (string) Eigenschaftsname. |
getText() |
Gibt einen Textwert als Zeichenfolge des Elementtexts zurück. |
click() |
Klickt auf ein Element. |
clear() |
Löscht den Inhalt eines bearbeitbaren Elements. |
sendKeys(keys) |
Sendet Tastenanschläge. Parameters: keys - (string) Zu sendende Tastenanschläge. |
Cookie
Das Cookie-Objekt wird von der Methode getCookies() des Browser-Objekts zurückgegeben und an die Methode addCookie() übergeben.
Obwohl das Cookie-Objekt keine Methoden hat, kann es die folgenden Eigenschaften enthalten:
| Property | Type | Description |
|---|---|---|
| name | string | Name des Cookies. |
| value | string | Wert des Cookies. |
| path | string | Pfad, für den das Cookie gültig ist. Standardmäßig "/", wenn es beim Hinzufügen eines Cookies weggelassen wird. |
| domain | string | Domain, für die das Cookie sichtbar ist. Standardmäßig die URL-Domain des aktiven Dokuments im aktuellen Browsing-Kontext der Sitzung, wenn sie beim Hinzufügen eines Cookies weggelassen wird. |
| secure | boolean | Gibt an, ob das Cookie sicher ist. Standardmäßig false, wenn es beim Hinzufügen eines Cookies weggelassen wird. |
| httpOnly | boolean | Gibt an, ob das Cookie nur über HTTP verfügbar ist. Standardmäßig false, wenn es beim Hinzufügen eines Cookies weggelassen wird. |
| expiry | integer | Ablaufzeit des Cookies (in Sekunden seit der Unix-Epoche). Darf nicht gesetzt werden, wenn sie beim Hinzufügen eines Cookies weggelassen wird. |
| sameSite | string | Das Attribut sameSite des Cookies, das steuert, ob das Cookie auf einen First-Party- oder Same-Site-Kontext beschränkt werden soll.Kann entweder auf "Lax" oder "Strict" gesetzt werden.Standardmäßig "None", wenn es beim Hinzufügen eines Cookies weggelassen wird. |
Warnung
Das Objekt Alert repräsentiert eine Warnung auf einer Webseite, wird von der Methode getAlert() des Objekts Browser zurückgegeben und kann nicht direkt erstellt werden.
Das Objekt Alert enthält die Eigenschaft text mit dem Text der Warnung (oder null, wenn keine Warnungen vorhanden sind).
Die folgenden Methoden werden vom Objekt Alert unterstützt.
| Method | Description |
|---|---|
accept() |
Die Warnung akzeptieren. |
dismiss() |
Die Warnung verwerfen. |
Ergebnis
Das Objekt Result enthält Sitzungsstatistiken und wird von der Methode getResult() des Objekts Browser zurückgegeben.
Typischerweise wird das Objekt Result in eine Zeichenkette umgewandelt und vom Skript zurückgegeben und anschließend durch Vorverarbeitung in Werte abhängiger Datenpunkte geparst.
Obwohl das Objekt Result keine Methoden hat, kann es die folgenden Eigenschaften enthalten.
| Eigenschaft | Typ | Beschreibung | ||
|---|---|---|---|---|
| duration | string | Sitzungsdauer von der Erstellung der Sitzung bis zum Abruf des Ergebnisses. | ||
| error | object | Fehlerinformationen. | ||
| http_status | integer | Vom WebDriver zurückgegebener HTTP-Status (oder 0, wenn keine WebDriver-Fehler vorliegen). | ||
| error_code | string | Vom WebDriver zurückgegebener Fehler (oder eine leere Zeichenkette, wenn keine WebDriver-Fehler vorliegen). | ||
| message | string | WebDriver-Fehlermeldung (oder eine leere Zeichenkette, wenn keine WebDriver-Fehler vorliegen). | ||
| performance_data | object | Leistungsstatistiken. | ||
| summary | object | Leistungsübersicht. | ||
| navigation | object | Navigationsübersicht. | ||
| resource | object | Ressourcenübersicht. | ||
| details | array of objects | Leistungsstatistiken nach jeder Operation, die zu einer Navigation geführt haben könnte. | ||
| mark | string | (optional) Mit der Methode collectPerfEntries() angegebene Markierung der Leistungsaufnahme. |
||
| navigation | object | Navigationsstatistiken. | ||
| resource | object | Ressourcenübersicht für diesen Schritt. | ||
| user | array of objects | Array von Statistiken des Typs mark/measure. | ||
| marks | array of objects | Indizes markierter Leistungsaufnahmen. | ||
| name | string | Name der Markierung der Leistungsaufnahme. | ||
| index | integer | Index der Leistungsaufnahme im Array details. | ||