Esta sección describe las adiciones de Zabbix al lenguaje JavaScript implementadas con Duktape para su uso en el script de la métrica de navegador. Estas adiciones complementan los objetos JavaScript descritos en la página de Objetos JavaScript adicionales.
El objeto Browser
gestiona las sesiones de WebDriver, inicializando una sesión al crearse y terminándola al destruirse. Un único script puede soportar hasta cuatro objetos Browser
.
Para construir un objeto Browser
, utilice la sintaxis new Browser(options)
. El parámetro options
(objeto JSON) especifica las opciones del navegador, normalmente el resultado del método de opciones de WebDriver (por ejemplo, Browser.chromeOptions()
).
Se admiten los siguientes métodos con el objeto Browser
.
Método | Descripción |
---|---|
navigate(url) |
Navega a la URL especificada. Parámetros: url - (string) URL a la que navegar. |
getUrl() |
Devuelve una cadena con la URL de la página abierta. |
getPageSource() |
Devuelve una cadena con el código fuente de la página abierta. |
findElement(strategy, selector) |
Devuelve un objeto Element con un elemento en la página abierta (o devuelve null si ningún elemento coincide con strategy y selector ).Parámetros: strategy - (string, CSS selector/link text/partial link text/tag name/Xpath) Estrategia de localización;selector - (string) Selector del elemento usando la estrategia de localización especificada. |
findElements(strategy, target) |
Devuelve un array de objetos Element con múltiples elementos en la página abierta (o devuelve un array vacío si ningún elemento coincide con la estrategia de localización y el objetivo).Parámetros: strategy - (string, CSS selector/link text/partial link text/tag name/Xpath) Estrategia de localización;target - (string) Selector del elemento usando la estrategia de localización especificada. |
getCookies() |
Devuelve un array de objetos Cookie . |
addCookie(cookie) |
Establece cookies. Parámetros: cookie - (objeto Cookie ) Cookie a establecer. |
getScreenshot() |
Devuelve una cadena codificada en base64 que representa una imagen del área visible del navegador. |
setScreenSize(x,y) |
Establece el tamaño del área visible del navegador. Parámetros: x - (string) Altura en píxeles;y - (string) Anchura en píxeles. |
setScriptTimeout(timeout) |
Establece el tiempo de espera para la carga de scripts. Parámetros: timeout - (integer) Valor de tiempo de espera en milisegundos. |
setSessionTimeout(timeout) |
Establece el tiempo de espera de la sesión (carga de página). Parámetros: timeout - (integer) Valor de tiempo de espera en milisegundos. |
setElementWaitTimeout(timeout) |
Establece el tiempo de espera (implícito) de la estrategia de localización de elementos. Parámetros: timeout - (integer) Valor de tiempo de espera en milisegundos. |
collectPerfEntries(mark) |
Recoge entradas de rendimiento para recuperar con el método getResult() .Parámetros: mark - (string, opcional) marca de la instantánea de rendimiento. |
getRawPerfEntries() |
Devuelve un array de objetos de entrada de rendimiento. |
getResult() |
Devuelve un objeto Result con estadísticas de la sesión del navegador (información de errores, instantáneas de rendimiento, etc.). |
getError() |
Devuelve un objeto BrowserError con los errores del navegador (o devuelve null si no hay errores del navegador). |
setError(message) |
Establece un mensaje de error personalizado para incluirlo en el objeto Result .Parámetros: message - (string) Mensaje de error. |
discardError() |
Descarta el error que se devolverá en el objeto Result . |
getAlert() |
Devuelve un objeto Alert con las alertas del navegador (o devuelve null si no hay alertas del navegador). |
chromeOptions() |
Devuelve un objeto chromeOptions con opciones predefinidas del navegador Chrome. |
firefoxOptions() |
Devuelve un objeto firefoxOptions con opciones predefinidas del navegador Firefox. |
safariOptions() |
Devuelve un objeto safariOptions con opciones predefinidas del navegador Safari. |
edgeOptions() |
Devuelve un objeto edgeOptions con opciones predefinidas del navegador Edge. |
switchFrame(target) |
Cambia al frame especificado. Parámetros: target - (elemento del navegador o integer, opcional) Frame de destino. Para seleccionar un frame por elemento, pase el elemento. Para seleccionar un frame por índice, pase el número. Si se deja vacío, cambiará al contexto de navegación de nivel superior. |
Todos los métodos de Browser pueden lanzar los siguientes errores:
BrowserError
- derivado del objeto Error
que se lanza si el constructor de Browser
falla; contiene una propiedad adicional browser
con un objeto Browser
que lanzó este BrowserError
.WebdriverError
- derivado de BrowserError
; contiene las mismas propiedades que el objeto BrowserError
, que indican si el error se generó en respuesta a un error en la respuesta de WebDriver.El objeto Element
es devuelto por los métodos findElement()
/findElements()
del objeto Browser
y no puede ser construido directamente.
El objeto Element
representa un elemento en la página web y proporciona métodos para interactuar con él.
Los siguientes métodos son compatibles con el objeto Element
.
Método | Descripción |
---|---|
getAttribute(name) |
Devuelve una cadena con el valor del atributo del elemento (o devuelve null si no se encontró el atributo especificado).Parámetros: name - (string) Nombre del atributo. |
getProperty(name) |
Devuelve una cadena con el valor de la propiedad del elemento (o devuelve null si no se encontró la propiedad especificada).Parámetros: name - (string) Nombre de la propiedad. |
getText() |
Devuelve una cadena con el valor del texto del elemento. |
click() |
Hace clic en un elemento. |
clear() |
Limpia el contenido de un elemento editable. |
sendKeys(keys) |
Envía teclas. Parámetros: keys - (string) Teclas a enviar. |
El objeto Cookie
es devuelto por el método getCookies()
del objeto Browser
y pasado al método addCookie()
.
Aunque el objeto Cookie
no tiene ningún método, puede contener las siguientes propiedades:
Propiedad | Tipo | Descripción |
---|---|---|
name | string | Nombre de la cookie. |
value | string | Valor de la cookie. |
path | string | Ruta para la que la cookie es válida. Por defecto es "/" si se omite al añadir una cookie. |
domain | string | Dominio al que la cookie es visible. Por defecto es el dominio de la URL del documento activo en el contexto de navegación actual de la sesión si se omite al añadir una cookie. |
secure | boolean | Indica si la cookie es segura. Por defecto es false si se omite al añadir una cookie. |
httpOnly | boolean | Indica si la cookie es solo HTTP. Por defecto es false si se omite al añadir una cookie. |
expiry | integer | Tiempo de expiración de la cookie (en segundos desde la Época Unix). No debe establecerse si se omite al añadir una cookie. |
sameSite | string | El atributo sameSite de la cookie, que controla si la cookie debe restringirse a un contexto de primera parte o del mismo sitio.Puede establecerse en "Lax" o "Strict" .Por defecto es "None" si se omite al añadir una cookie. |
El objeto Alert
representa una alerta de página web, es devuelto por el método getAlert()
del objeto Browser
y no puede ser construido directamente.
El objeto Alert
contiene la propiedad text
con el texto de la alerta (o null
si no hay alertas).
Los siguientes métodos son compatibles con el objeto Alert
.
Método | Descripción |
---|---|
accept() |
Aceptar la alerta. |
dismiss() |
Descartar la alerta. |
El objeto Result
contiene estadísticas de la sesión y es devuelto por el método getResult()
del objeto Browser
.
Normalmente, el objeto Result
se convierte en cadena y se devuelve desde el script, y luego se analiza en valores de métricas dependientes mediante preprocesamiento.
Aunque el objeto Result
no tiene ningún método, puede contener las siguientes propiedades.
Propiedad | Tipo | Descripción | ||
---|---|---|---|---|
duration | string | Duración de la sesión desde la creación de la sesión hasta la obtención del resultado. | ||
error | object | Información de error. | ||
http_status | integer | Estado HTTP devuelto por el WebDriver (o 0 si no hay errores de WebDriver). | ||
error_code | string | Error devuelto por el WebDriver (o cadena vacía si no hay errores de WebDriver). | ||
message | string | Mensaje de error de WebDriver (o cadena vacía si no hay errores de WebDriver). | ||
performance_data | object | Estadísticas de rendimiento. | ||
summary | object | Resumen de rendimiento. | ||
navigation | object | Resumen de navegación. | ||
resource | object | Resumen de recursos. | ||
details | array of objects | Estadísticas de rendimiento después de cada operación que podría haber resultado en una navegación. | ||
mark | string | (opcional) Marca de instantánea de rendimiento especificada con el método collectPerfEntries() . |
||
navigation | object | Estadísticas de navegación. | ||
resource | object | Resumen de recursos para este paso. | ||
user | array of objects | Matriz de estadísticas de tipo marca/medida. | ||
marks | array of objects | Índices de instantáneas de rendimiento marcadas. | ||
name | string | Nombre de la marca de instantánea de rendimiento. | ||
index | integer | Índice de la instantánea de rendimiento en la matriz details. |