Este documento describe la monitorización web usando la herramienta Selenium integrada en Pandora FMS. Explica cómo instalar y ejecutar Selenium en OpenSUSE y Windows, y cómo configurar el plugin de Selenium en el agente Pandora FMS para ejecutar tareas de monitorización web grabadas.
24. • Siempre después de “task_begin” viene el comando “open” que contiene como parámetro la
URL completa donde se inicia la navegación.
• Comandos como “type” o “click” o “select” suelen llevar dos parámetros el primero es el
objetivo de la acción (suele ser un id html u otro elemento unequivocamente identifica ese
elemento a nivel de código html) y el segundo separado por una el carácter coma (ojo sin
espacios en blanco) es el valor que se introduce en la caja de texto o se selecciona si es una
lista desplegable.
• También a lo largo de la navegación se va cambiando de una página a otra dentro de un
mismo dominio o no, eso conlleva un tiempo en lo que carga las páginas, por eso es
necesario poner entre medias el comando “wait_for_page_to_load” seguido del parámetro
de milisegundos que esperar antes de devolver que el script se ha ejecutado mal, hay que
tener en cuenta aunque tenga un parámetro de tiempo alto eso no afecta al módulo de
tiempo que tarda en ejecutar la monitorización web, solo es un tiempo de espera de cargar
correctamente la web.
• Normalmente para finalizar tendrá un comando “is_text_present” seguido del texto o
expresión regular que quiere chequear que existe en la web monitorizada. Aunque también
puede no existir este comando porque solo desea chequear que la web es navegable y no se
queda colgada cargando o hay un link roto, o también quiere extraer un texto de la web,
pero que veremos mas adelante en este anexo en la lista de comandos.
9.2. Lista de comandos de scripts de monitorización
Los siguientes comando son los que están soportados por el plugin de Selenium en el agente de
Pandora, recuerdo que algunos no están soportados por la extensión Firefox.
• Comentario: cualquier linea que empieza por el carácter #.
• answer_on_next_prompt: comando que pasa a la ventana de prompt generada por
javascript en la web el texto pasado como primer parámetro.
• attach_file: comando que añade el fichero al control de subir ficheros del formulario
pasado como primer parámetro, el segundo parámetro es la ruta al fichero a subir a la web.
• capture_entire_page_screenshot: guarda en un fichero PNG una captura del navegador en
ese momento, con el primer parámetro se pasa la ruta al fichero a guardar la captura.
• capture_entire_page_screenshot_to_string: guarda una captura del navegador en un
string en BASE64 y formato PNG.
• check: marca el cuadro de confirmación de la web pasado como primer parámetro.
• choose_cancel_on_next_confirmation: en la ventana de confirmación generada por el
javascript de la web, pulsara en el botón cancel.
Page 24
25. • click: el Selenium hará click en elemento de la web pasado como primer parámetro el
objetivo de hacer click.
• close: el Selenium a esta altura de esa linea del script, cerrara el navegador.
• create_cookie: crea en el navegador una cookie de la web, con el par nombre:valor, donde
el nombre es primer parámetro y el segundo el valor.
• delete_all_visible_cookies: borran del navegador los pares nombre:valor de una cookie de
la web.
• delete_cookie: borra el par nombre:valor de la cookie del navegador.
• double_click: realiza la acción de doble click en el elemento web pasado como primer
parámetro el objetivo de hacer doble click.
• focus: hace foco en el navegador en el elemento web pasado como primer parámetro el
objetivo para hacer foco.
• get_attribute: extrae el valor del atributo del elemento html pasado como primer
parámetro.
• get_body_text: extrae todo el contenido de la página web del navegador como si fuera un
texto. Se le puede pasar como primer parámetro una expresión regular que intentara casar
en vez de devolver todo el contenido de la página.
• get_cookie_by_name: retorna el valor de la cookie pasado como primer parámetro el
nombre de esta.
• get_html_source: retorna el contenido como html de toda la página web del navegador
como si fuera un texto. Se le puede pasar como primer parámetro una expresión regular que
intentara casar en vez de devolver todo el contenido de la página.
• get_location: retorna la URL completa en ese momento del script, del navegador en la
simulación de navegación.
• get_text: retorna el texto de un elemento seleccionado a través del primer parámetro.
• get_table: devuelve el contenido de una tabla seleccionada a través del primer parámetro.
• get_title: devuelve el título de la página que esta el script en el momento en el que se llama
el comando.
• get_value: devuelve el valor de un campo de un formulario seleccionado a través del primer
parámetro.
• go_back: realiza la acción de “ir atrás” del navegador web.
• is_cookie_present: chequea que existe el valor de la cookie pasado por el primer
parámetro.
Page 25
26. • is_text_present: chequea que existe el texto en la web, pasando una expresión regular como
primer parámetro.
• is_visible: chequea que el elemento esta visible, pasada la localización en el primer
parámetro.
• open: abre la web en Selenium pasada la URL como primer parámetro.
• pause: espera la simulación de Selenium durante el tiempo en milisegundos señalados en el
primer parámetro.
• refresh: realiza una acción de refresco en el navegador en el momento en que Selenium
encuentra esta linea de comando en el script.
• select: selecciona un valor en una lista desplegable, siendo el primer parámetro la
localización de la lista desplegable en la web, y el segundo parámetro es el valor de la lista a
seleccionar.
• select_window: selecciona la ventana flotante elegida por el ID que va en el primer
parámetro.
• set_timeout: pasa un tiempo en milisegundos como primer parámetro a Selenium para que
se complete el script si no se cumple devuelve error de estatus del módulo de la tarea.
• submit: ejecuta el envío de los datos de un formulario seleccionado por el primer
parametro.
• type: hace la escritura en la caja de texto seleccionada por el primer parámetro, y con el
segundo parámetro el texto a rellenar por Selenium.
• type_keys: hace también la escritura en la caja de texto pero tecla a tecla como las
pulsaciones de un usuario real en la navegación, la caja de texto se elige en el primer
parámetro y el segundo las teclas a pulsar expresadas como texto.
• uncheck: realiza un deschequeo en el cuadro de chequeo seleccionado por el primer
parámetro.
• wait_for_page_to_load: Selenium espera tantos milisegundos como sean pasados en el
primer parámetro a que termine la carga de la página.
• wait_for_element_present: espera a que este presente en el navegador el elemento pasada
la localización por el primer parámetro y el segundo parámetro es el tiempo en milisegundos
para esperar y si no se devuelve error en el estatus del módulo del plugin de agente de
Pandora.
• wait_for_text_present: espera a que este en el navegador presente el texto pasado como
una expresión regular en el primer parámetro y el segundo parámetro es el tiempo en
milisegundos a esperar y si no se devuelve error en el estatus del módulo de plugin de
Page 26