2 Objets JavaScript de l’élément de navigateur
Aperçu
Cette section décrit les ajouts de Zabbix au langage JavaScript implémenté avec Duktape pour une utilisation dans le script de l’élément Browser. Ces ajouts complètent les objets JavaScript décrits sur la page Objets JavaScript supplémentaires.
Browser
L'objet Browser gère les sessions WebDriver, en initialisant une session lors de sa création et en la terminant lors de sa destruction.
Un seul script peut prendre en charge jusqu'à quatre objets Browser.
Pour construire un objet Browser, utilisez la syntaxe new Browser(options).
Le paramètre options (objet JSON) spécifie les options du navigateur, généralement le résultat de la méthode des options WebDriver (par exemple, Browser.chromeOptions()).
Les méthodes suivantes sont prises en charge avec l'objet Browser.
| Method | Description |
|---|---|
navigate(url) |
Naviguer vers l'URL spécifiée. Parameters: url - (string) URL vers laquelle naviguer. |
getUrl() |
Retourner une chaîne de l'URL de la page ouverte. |
getPageSource() |
Retourner une chaîne du code source de la page ouverte. |
findElement(strategy, selector) |
Retourner un objet Element avec un élément dans la page ouverte (ou retourner null si aucun élément ne correspond à strategy et selector).Parameters: strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;selector - (string) Sélecteur d'élément utilisant la stratégie de localisation spécifiée. |
findElements(strategy, target) |
Retourner un tableau d'objets Element avec plusieurs éléments dans la page ouverte (ou retourner un tableau vide si aucun élément ne correspond à la stratégie de localisation et à target).Parameters: strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;target - (string) Sélecteur d'élément utilisant la stratégie de localisation spécifiée. |
getCookies() |
Retourner un tableau d'objets Cookie. |
addCookie(cookie) |
Définir des cookies. Parameters: cookie - (objet Cookie) Cookie à définir. |
getScreenshot() |
Retourner une chaîne encodée en Base64 représentant une image de la zone d'affichage du navigateur. |
setScreenSize(x,y) |
Définir la taille de la zone d'affichage du navigateur. Parameters: x - (string) Largeur en pixels;y - (string) Hauteur en pixels. |
setScriptTimeout(timeout) |
Définir le délai d'attente de chargement du script. Parameters: timeout - (integer) Valeur du délai d'attente en millisecondes. |
setSessionTimeout(timeout) |
Définir le délai d'attente de la session (chargement de page). Parameters: timeout - (integer) Valeur du délai d'attente en millisecondes. |
setElementWaitTimeout(timeout) |
Définir le délai d'attente (implicite) de la stratégie de localisation d'élément. Parameters: timeout - (integer) Valeur du délai d'attente en millisecondes. |
collectPerfEntries(mark) |
Collecter les entrées de performance à récupérer avec la méthode getResult().Parameters: mark - (string, optional) Marque de capture de performance. |
getRawPerfEntries() |
Retourner un tableau d'objets d'entrée de performance. |
getResult() |
Retourner un objet Result avec les statistiques de la session du navigateur (informations d'erreur, captures de performance, etc.). |
getError() |
Retourner un objet BrowserError avec les erreurs du navigateur (ou retourner null s'il n'y a aucune erreur du navigateur). |
setError(message) |
Définir un message d'erreur personnalisé à inclure dans l'objet Result.Parameters: message - (string) Message d'erreur. |
discardError() |
Ignorer l'erreur à retourner dans l'objet Result. |
getAlert() |
Retourner un objet Alert avec les alertes du navigateur (ou retourner null s'il n'y a aucune alerte du navigateur). |
chromeOptions() |
Retourner un objet chromeOptions avec des options prédéfinies du navigateur Chrome. |
firefoxOptions() |
Retourner un objet firefoxOptions avec des options prédéfinies du navigateur Firefox. |
safariOptions() |
Retourner un objet safariOptions avec des options prédéfinies du navigateur Safari. |
edgeOptions() |
Retourner un objet edgeOptions avec des options prédéfinies du navigateur Edge. |
switchFrame(target) |
Basculer vers le frame spécifié. Pris en charge depuis la version 7.0.4. Parameters: target - (browser element or integer, optional) Frame cible. Pour sélectionner un frame par élément, passez l'élément. Pour sélectionner un frame par index, passez le numéro. Si laissé vide, basculera vers le contexte de navigation de niveau supérieur. |
Toutes les méthodes Browser peuvent générer les erreurs suivantes :
BrowserError- dérivée de l'objetError, levée si le constructeurBrowseréchoue ; contient une propriété supplémentairebrowseravec un objetBrowserqui a déclenché cetteBrowserError.WebdriverError- dérivée deBrowserError; contient les mêmes propriétés que l'objetBrowserError, qui indiquent si l'erreur a été générée en réponse à une erreur dans la réponse WebDriver.
Élément
L'objet Element est renvoyé par les méthodes findElement()/findElements() de l'objet Browser et ne peut pas être construit directement.
L'objet Element représente un élément dans la page web et fournit des méthodes pour interagir avec lui.
Les méthodes suivantes sont prises en charge avec l'objet Element.
| Method | Description |
|---|---|
getAttribute(name) |
Renvoie une chaîne de valeur d'attribut de l'attribut de l'élément (ou renvoie null si l'attribut spécifié n'a pas été trouvé).Parameters: name - (string) Nom de l'attribut. |
getProperty(name) |
Renvoie une chaîne de valeur de propriété de la propriété de l'élément (ou renvoie null si la propriété spécifiée n'a pas été trouvée).Parameters: name - (string) Nom de la propriété. |
getText() |
Renvoie une chaîne de valeur textuelle du texte de l'élément. |
click() |
Clique sur un élément. |
clear() |
Efface le contenu d'un élément modifiable. |
sendKeys(keys) |
Envoie des touches. Parameters: keys - (string) Touches à envoyer. |
Cookie
L'objet Cookie est renvoyé par la méthode getCookies() de l'objet Browser et transmis à la méthode addCookie().
Bien que l'objet Cookie n'ait aucune méthode, il peut contenir les propriétés suivantes :
| Propriété | Type | Description |
|---|---|---|
| name | string | Nom du cookie. |
| value | string | Valeur du cookie. |
| path | string | Chemin pour lequel le cookie est valide. Par défaut, "/" si omis lors de l'ajout d'un cookie. |
| domain | string | Domaine auquel le cookie est visible. Par défaut, le domaine URL du document actif du contexte de navigation actuel de la session si omis lors de l'ajout d'un cookie. |
| secure | boolean | Indique si le cookie est sécurisé. Par défaut, false si omis lors de l'ajout d'un cookie. |
| httpOnly | boolean | Indique si le cookie est de type HTTP-only. Par défaut, false si omis lors de l'ajout d'un cookie. |
| expiry | integer | Heure d'expiration du cookie (en secondes depuis l'époque Unix). Ne doit pas être défini s'il est omis lors de l'ajout d'un cookie. |
| sameSite | string | L'attribut sameSite du cookie, qui contrôle si le cookie doit être limité à un contexte propriétaire ou de même site.Peut être défini sur "Lax" ou "Strict".Par défaut, "None" si omis lors de l'ajout d'un cookie. |
Alerte
L’objet Alert représente une alerte de page web, est renvoyé par la méthode getAlert() de l’objet Browser et ne peut pas être construit directement.
L’objet Alert contient la propriété text avec le texte de l’alerte (ou null s’il n’y a pas d’alertes).
Les méthodes suivantes sont prises en charge avec l’objet Alert.
| Method | Description |
|---|---|
accept() |
Accepte l’alerte. |
dismiss() |
Ignore l’alerte. |
Résultat
L’objet Result contient des statistiques de session et est renvoyé par la méthode getResult() de l’objet Browser.
En général, l’objet Result est converti en chaîne et renvoyé par le script, puis analysé en valeurs d’éléments dépendants via le prétraitement.
Bien que l’objet Result ne possède aucune méthode, il peut contenir les propriétés suivantes.
| Propriété | Type | Description | ||
|---|---|---|---|---|
| duration | string | Durée de la session entre la création de la session et la récupération du résultat. | ||
| error | object | Informations sur l’erreur. | ||
| http_status | integer | Code d’état HTTP renvoyé par le WebDriver (ou 0 s’il n’y a pas d’erreurs WebDriver). | ||
| error_code | string | Erreur renvoyée par le WebDriver (ou une chaîne vide s’il n’y a pas d’erreurs WebDriver). | ||
| message | string | Message d’erreur WebDriver (ou une chaîne vide s’il n’y a pas d’erreurs WebDriver). | ||
| performance_data | object | Statistiques de performance. | ||
| summary | object | Résumé des performances. | ||
| navigation | object | Résumé de la navigation. | ||
| resource | object | Résumé des ressources. | ||
| details | array of objects | Statistiques de performance après chaque opération ayant pu entraîner une navigation. | ||
| mark | string | (facultatif) Marque d’instantané de performance spécifiée avec la méthode collectPerfEntries(). |
||
| navigation | object | Statistiques de navigation. | ||
| resource | object | Résumé des ressources pour cette étape. | ||
| user | array of objects | Tableau de statistiques de type mark/measure. | ||
| marks | array of objects | Index des instantanés de performance marqués. | ||
| name | string | Nom de la marque de l’instantané de performance. | ||
| index | integer | Index de l’instantané de performance dans le tableau details. | ||