19 elementos del navegador

Descripción general

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.

Configuración

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.

Ejemplos

Script predeterminado

El siguiente guión:

  1. Inicializa una sesión del navegador.
  2. Navega a una URL especificada.
  3. Recopila entradas de rendimiento y estadísticas de sesión y las devuelve como una cadena JSON.

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());
       }
Verifique el inicio de sesión de Zabbix

El siguiente guión:

  1. Inicializa una sesión del navegador.
  2. Navega a la página de inicio de sesión de Zabbix.
  3. Ingrese el nombre de usuario "Admin" y la contraseña "zabbix".
  4. Busca y hace clic en el botón de inicio de sesión.
  5. Busca y hace clic en el botón de cerrar sesión.
  6. Recopila datos de rendimiento antes y después de iniciar sesión, así como después de cerrar sesión.
  7. Maneja errores capturando mensajes de error y una captura de pantalla.
  8. Devuelve los resultados recopilados como una cadena JSON.

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);
       }
Inicializar navegador

El siguiente guión:

  1. Inicializa una sesión de navegador para el navegador disponible basándose en el primer navegador coincidente en el orden especificado en el script.
  2. Define las capacidades del navegador, incluida la estrategia de carga de páginas y las opciones específicas de cada navegador, como el modo sin cabeza para los navegadores Chrome, Firefox y Microsoft Edge.

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"
                   }
               ]
           }
       });