Los elementos del navegador permiten monitorear sitios web y aplicaciones web complejos mediante un navegador.
::: nota importante La compatibilidad con elementos del navegador es actualmente experimental. :::
Los elementos del navegador recopilan datos ejecutando un código JavaScript definido por el usuario y recuperando datos a través de HTTP/HTTPS. Este elemento puede simular acciones relacionadas con el navegador, como hacer clic, ingresar texto, navegar por páginas web y otras interacciones del usuario con sitios web o aplicaciones web.
Además del script, se puede especificar una lista opcional de parámetros (pares de nombre y valor) y tiempo de espera.
::: nota importante El elemento implementa parcialmente el estándar W3C WebDriver con Selenium Server o un WebDriver simple (por ejemplo, ChromeDriver) como punto final de prueba web. Para que el elemento funcione, configure el punto final en el parámetro WebDriverURL
del archivo de configuración Zabbix server/proxy. :::
Los elementos del navegador son ejecutados y procesados por el servidor Zabbix o por los encuestadores del navegador proxy. Si es necesario, puede ajustar el número de instancias previamente bifurcadas de sondeadores de elementos del navegador en el [servidor] de Zabbix(/manual/appendix/config/zabbix_server#startbrowserpollers)/proxy parámetro del archivo de configuración StartBrowserPollers
.
Para monitorear sitios web y aplicaciones web complejos, la plantilla Sitio web por navegador está disponible como fuera Plantilla lista para usar.
Si utiliza ChromeDriver como punto final de prueba web, consulte las consideraciones de seguridad.
En el campo Tipo del formulario de configuración de la métrica, seleccione Navegador y luego complete los campos obligatorios.
Todos los campos de entrada obligatorios están marcados con un asterisco rojo.
Los campos que requieren información específica para las métricas del navegador son:
Campo | Descripción |
---|---|
Clave | Ingrese una clave única que se utilizará para identificar la métrica. |
Parámetros | Especifique las variables que se pasarán al script como pares de atributo y valor. Se admiten macros de usuario. Para ver qué macros integradas son compatibles, busque "métrica de tipo navegador" en la tabla macros soportadas. |
Script | Ingrese el código JavaScript en el bloque que aparece al hacer clic en el campo de parámetro (o en el botón ver/editar al lado). Este código debe proporcionar la lógica para devolver el valor de la métrica. El código tiene acceso a todos los parámetros, todos los objetos JavaScript adicionales y [objetos JavaScript de la métrica del navegador] (/manual/config/items/preprocessing/javascript/browser_item_javascript_objects) agregados por Zabbix. Ver también: Guía de JavaScript. |
Tiempo de espera | Tiempo de espera de ejecución de JavaScript (1-600 s; excederlo generará un error). Tenga en cuenta que, dependiendo del script, el tiempo de espera puede tardar más en activarse. Para obtener más información sobre * Parámetro de tiempo de espera*, consulte atributos generales de la métrica. |
El siguiente guión:
En el campo Script, ingrese:
navegador var = nuevo navegador (Browser.chromeOptions());
intentar {
navegador.navigate("http://ejemplo.com");
navegador.collectPerfEntries();
}
finalmente {
devolver JSON.stringify(browser.getResult());
}
El siguiente guión:
En el campo Script, ingrese:
navegador var, resultado;
navegador = nuevo Navegador(Browser.chromeOptions());
intentar {
navegador.navigate("http://example.com/zabbix/index.php");
browser.collectPerfEntries("abrir página");
var el = browser.findElement("xpath", "//input[@id='name']");
si (el === nulo) {
throw Error("no se puede encontrar el campo de entrada de nombre");
}
el.sendKeys("Administrador");
el = browser.findElement("xpath", "//input[@id='contraseña']");
si (el === nulo) {
throw Error("no se puede encontrar el campo de entrada de contraseña");
}
el.sendKeys("zabbix");
el = browser.findElement("xpath", "//botón[@id='enter']");
si (el === nulo) {
throw Error("no se puede encontrar el botón de inicio de sesión");
}
el.hacer clic();
browser.collectPerfEntries("iniciar sesión");
el = browser.findElement("texto del enlace", "Cerrar sesión");
si (el === nulo) {
throw Error("no se puede encontrar el botón para cerrar sesión");
}
el.hacer clic();
browser.collectPerfEntries("cerrar sesión");
resultado = navegador.getResult();
}
atrapar (errar) {
if (!(err instancia de BrowserError)) {
browser.setError(err.mensaje);
}
resultado = navegador.getResult();
resultado.error.screenshot = navegador.getScreenshot();
}
finalmente {
devolver JSON.stringify(resultado);
}
El siguiente guión:
Tenga en cuenta que para configurar instancias de WebDriver, necesitará scripts o escenarios de prueba adicionales para interactuar con los sitios web o la aplicación web bajo prueba.
En el campo Script, ingrese:
var navegador = nuevo navegador({
"capacidades":{
"primer partido":[
{
"nombredelnavegador":"cromo",
"pageLoadStrategy":"normal",
"goog:opciones de chrome":{
"argumentos":[
"--sin cabeza=nuevo"
]
}
},
{
"nombredelnavegador":"firefox",
"pageLoadStrategy":"normal",
"moz:opciones de firefox":{
"argumentos":[
"--sin cabeza"
]
}
},
{
"nombredelnavegador":"MicrosoftEdge",
"pageLoadStrategy":"normal",
"ms:opciones de borde":{
"argumentos":[
"--sin cabeza=nuevo"
]
}
},
{
"browserName":"safari",
"pageLoadStrategy": "normal"
}
]
}
});