Esta sección describe las adiciones de Zabbix al lenguaje JavaScript implementado 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 Objetos JavaScript adicionales.
El objeto Browser
administra las sesiones de WebDriver, inicializando una sesión al crearla y finalizándola al destruirla. Un solo script puede admitir 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()
).
Los siguientes métodos son compatibles con el objeto Browser
.
Método | Descripción |
---|---|
navigate(url) |
Navegar a la URL especificada. Parámetros: url - (cadena) URL a la que navegar. |
getUrl() |
Devuelve una cadena de la URL de la página abierta. |
getPageSource() |
Devuelve una cadena del 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 - (cadena, selector CSS/texto del enlace/texto parcial del enlace/nombre de la etiqueta/Xpath) Estrategia de ubicación;selector - (cadena) Selector de elementos que utiliza la estrategia de ubicación especificada. |
findElements(strategy, target) |
Devuelve una matriz de objetos Element con múltiples elementos en la página abierta (o devuelve una matriz vacía si ningún elemento coincide con la estrategia de ubicación y el objetivo).Parámetros: strategy - (string, selector CSS/texto del enlace/texto parcial del enlace/nombre de etiqueta/Xpath) Estrategia de ubicación;target - (string) Selector de elementos que utiliza la estrategia de ubicación especificada. |
getCookies() |
Devuelve una matriz de objetos Cookie . |
addCookie(cookie) |
Establecer cookies. Parámetros: cookie - (objeto Cookie ) Cookie para establecer. |
getScreenshot() |
Devuelve una cadena codificada en base64 que representa una imagen de la ventana gráfica del navegador. |
setScreenSize(x,y) |
Establece el tamaño de la ventana gráfica del navegador. Parámetros: x - (cadena) Altura en píxeles;y - (cadena) Ancho en píxeles. |
setScriptTimeout(timeout) |
Establece el tiempo de espera para la carga del script. Parámetros: timeout - (entero) Valor de tiempo de espera en milisegundos. |
setSessionTimeout(timeout) |
Establece el tiempo de espera de la sesión (carga de la página). Parámetros: timeout - (entero) Valor de tiempo de espera en milisegundos. |
setElementWaitTimeout(timeout) |
Establece el tiempo de espera (implícito) de la estrategia de ubicación de elementos. Parámetros: timeout - (entero) Valor de tiempo de espera en milisegundos. |
collectPerfEntries(mark) |
Recopila entradas de rendimiento para recuperarlas con el método getResult() .Parámetros: mark - (string, opcional) Marca de instantánea de rendimiento. |
getRawPerfEntries() |
Devuelve una matriz de objetos de entrada de rendimiento. |
getResult() |
Devuelve un objeto Result con estadísticas de la sesión del navegador (información de error, instantáneas de rendimiento, etc.). |
getError() |
Devuelve un objeto BrowserError con errores del navegador (o devuelve null si no hay errores del navegador). |
setError(message) |
Establece un mensaje de error personalizado para incluir 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 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 marco especificado. Compatible desde la versión 7.0.4. Parámetros: target - (elemento del navegador o entero, opcional) Marco de destino. Para seleccionar un marco por elemento, pase el elemento. Para seleccionar un marco 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 generar los siguientes errores:
BrowserError
- derivado del objeto Error
que se genera si falla el constructor Browser
; contiene una propiedad browser
adicional con un objeto Browser
que generó 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 del objeto Browser
findElement()
/findElements()
y no se puede construir 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 de valor de atributo del atributo del elemento (o devuelve null si no se encontró el atributo especificado).Parámetros: name - (cadena) Nombre del atributo. |
getProperty(nombre) |
Devuelve una cadena de valor de propiedad de la propiedad del elemento (o devuelve null si no se encontró la propiedad especificada).Parámetros: nombre - (cadena) Nombre de la propiedad. |
getText() |
Devuelve una cadena de valor de texto del elemento texto. |
click() |
Haga clic en un elemento. |
clear() |
Borrar el contenido de un elemento editable. |
sendKeys(keys) |
Enviar claves. Parámetros: keys - (cadena) Claves para enviar. |
El objeto Cookie
es devuelto por el método del objeto Browser
getCookies()
y se pasa al método addCookie()
.
Si bien el objeto Cookie
no tiene ningún método, puede contener las siguientes propiedades:
Propiedad | Tipo | Descripción |
---|---|---|
nombre | cadena | Nombre de la cookie. |
valor | cadena | Valor de la cookie. |
ruta | cadena | Ruta para la cual la cookie es válida. El valor predeterminado es "/" si se omite al agregar una cookie. |
dominio | cadena | Dominio en el que la cookie es visible. El valor predeterminado es el dominio URL del documento activo del contexto de navegación actual de la sesión si se omite al agregar una cookie. |
secure | boolean | Indica si la cookie es segura. El valor predeterminado es "falso" si se omite al agregar una cookie. |
httpOnly | booleano | Indica si la cookie es solo HTTP. El valor predeterminado es "falso" si se omite al agregar una cookie. |
expiry | integer | Tiempo de caducidad de la cookie (en segundos desde la época Unix). No se debe configurar si se omite al agregar una cookie. |
sameSite | string | El atributo sameSite de la cookie, que controla si la cookie debe restringirse a un contexto propio o del mismo sitio.Se puede establecer en "Lax" o "Estricto " .El valor predeterminado es "Ninguno" si se omite al agregar una cookie. |
El objeto Alert
representa una alerta de página web, lo devuelve el método Browser
del objeto getAlert()
y no se puede construir 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 Resultado
contiene estadísticas de sesión y es devuelto por el método getResult()
del objeto Browser
.
Normalmente, el objeto Resultado
se codifica y se devuelve desde el script, y luego se analiza en valores de elementos dependientes mediante el preprocesamiento.
Si bien el objeto "Resultado" no tiene ningún método, puede contener las siguientes propiedades.
Propiedad | Tipo | Descripción | ||
---|---|---|---|---|
duración | string | Duración de la sesión desde la creación de la sesión hasta la recuperación del resultado. | ||
error | objeto | Información de error. | ||
http_status | integer | Estado HTTP devuelto por WebDriver (o 0 si no hay errores de WebDriver). | ||
error_code | cadena | Error devuelto por WebDriver (o cadena vacía si no hay errores de WebDriver). | ||
mensaje | cadena | Mensaje de error de WebDriver (o cadena vacía si no hay errores de WebDriver). | ||
datos_rendimiento | objeto | Estadísticas de rendimiento. | ||
summary | objeto | Resumen de rendimiento. | ||
navegación | objeto | Resumen de navegación. | ||
recurso | objeto | Resumen de recursos. | ||
detalles | matriz de objetos | Estadísticas de rendimiento después de cada operación que podría haber resultado en la navegación. | ||
mark | string | (opcional) Marca de instantánea de rendimiento especificada con el método collectPerfEntries() . |
||
navegación | objeto | Estadísticas de navegación. | ||
recurso | objeto | Resumen de recursos para este paso. | ||
usuario | matriz de objetos | Matriz de estadísticas de tipo de marca/medida. | ||
marcas | matriz de objetos | Índices de instantáneas de rendimiento marcados. | ||
nombre | cadena | Nombre de la marca de instantánea de rendimiento. | ||
index | integer | Índice de instantánea de rendimiento en la matriz de detalles. |