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 d'options WebDriver (par exemple, Browser.chromeOptions()).
Les méthodes suivantes sont prises en charge avec l'objet Browser.
| Method | Description |
|---|---|
navigate(url) |
Navigue vers l'URL spécifiée. Paramètres : url - (string) URL vers laquelle naviguer. |
getUrl() |
Renvoie une chaîne contenant l'URL de la page ouverte. |
getPageSource() |
Renvoie une chaîne contenant le code source de la page ouverte. |
findElement(strategy, selector) |
Renvoie un objet Element contenant un élément de la page ouverte (ou renvoie null si aucun élément ne correspond à strategy et selector).Paramètres : strategy - (string, sélecteur CSS/texte du lien/texte partiel du lien/nom de balise/Xpath) Stratégie de localisation ;selector - (string) Sélecteur d'élément utilisant la stratégie de localisation spécifiée. |
findElements(strategy, target) |
Renvoie un tableau d'objets Element contenant plusieurs éléments de la page ouverte (ou renvoie un tableau vide si aucun élément ne correspond à la stratégie de localisation et à la cible).Paramètres : strategy - (string, sélecteur CSS/texte du lien/texte partiel du lien/nom de balise/Xpath) Stratégie de localisation ;target - (string) Sélecteur d'élément utilisant la stratégie de localisation spécifiée. |
getCookies() |
Renvoie un tableau d'objets Cookie. |
addCookie(cookie) |
Définit des cookies. Paramètres : cookie - (objet Cookie) Cookie à définir. |
getScreenshot() |
Renvoie une chaîne encodée en base64 représentant une image de la zone d'affichage du navigateur. |
setScreenSize(x,y) |
Définit la taille de la zone d'affichage du navigateur. Paramètres : x - (string) Largeur en pixels ;y - (string) Hauteur en pixels. |
setScriptTimeout(timeout) |
Définit le délai d'expiration du chargement du script. Paramètres : timeout - (integer) Valeur du délai d'expiration en millisecondes. |
setSessionTimeout(timeout) |
Définit le délai d'expiration de la session (chargement de page). Paramètres : timeout - (integer) Valeur du délai d'expiration en millisecondes. |
setElementWaitTimeout(timeout) |
Définit le délai d'expiration (implicite) de la stratégie de localisation des éléments. Paramètres : timeout - (integer) Valeur du délai d'expiration en millisecondes. |
collectPerfEntries(mark) |
Collecte les entrées de performance à récupérer avec la méthode getResult().Paramètres : mark - (string, facultatif) marque de l'instantané de performance. |
getRawPerfEntries() |
Renvoie un tableau d'objets d'entrée de performance. |
getResult() |
Renvoie un objet Result contenant les statistiques de la session du navigateur (informations sur les erreurs, instantanés de performance, etc.). |
getError() |
Renvoie un objet BrowserError contenant les erreurs du navigateur (ou renvoie null s'il n'y a pas d'erreurs du navigateur). |
setError(message) |
Définit un message d'erreur personnalisé à inclure dans l'objet Result.Paramètres : message - (string) Message d'erreur. |
discardError() |
Supprime l'erreur à renvoyer dans l'objet Result. |
getAlert() |
Renvoie un objet Alert contenant les alertes du navigateur (ou renvoie null s'il n'y a pas d'alertes du navigateur). |
chromeOptions() |
Renvoie un objet chromeOptions contenant des options prédéfinies pour le navigateur Chrome. |
firefoxOptions() |
Renvoie un objet firefoxOptions contenant des options prédéfinies pour le navigateur Firefox. |
safariOptions() |
Renvoie un objet safariOptions contenant des options prédéfinies pour le navigateur Safari. |
edgeOptions() |
Renvoie un objet edgeOptions contenant des options prédéfinies pour le navigateur Edge. |
switchFrame(target) |
Bascule vers le cadre spécifié. Paramètres : target - (élément du navigateur ou integer, facultatif) Cadre cible. Pour sélectionner un cadre par élément, transmettez l'élément. Pour sélectionner un cadre par index, transmettez le nombre. Si laissé vide, basculera vers le contexte de navigation de niveau supérieur. |
Toutes les méthodes de Browser peuvent générer les erreurs suivantes :
BrowserError- dérivé de l'objetError, généré si le constructeurBrowseréchoue ; contient une propriété supplémentairebrowseravec un objetBrowserayant généré ceBrowserError.WebdriverError- dérivé 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 de la page web et fournit des méthodes pour interagir avec celui-ci.
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é est introuvable).Paramètres : 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 est introuvable).Paramètres : 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. Paramètres : 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 ne possède 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 HTTP-only. Par défaut, false si omis lors de l'ajout d'un cookie. |
| expiry | integer | Date 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. | ||