Skip to main content

Prerequisitos

El principal requisito será que el servidor desde donde se ejcute el plugin sea capaz de conectar con las URLs de los sitios web que vaya a monitorizar.

Este plugin cuenta con 4 métodos distintos para ejecutarse en cada transacción, por lo que tendrá que ajustar los requisitos al modo de ejecución deseado para cada caso.

Driver local

El plugin usará los drivers para Google Chrome o Mozilla Firefox que se encuentren en el equipo donde se ejecuta el plugin. Por defecto, se buscarán estos componentes en las siguientes rutas, aunque se podrán especificar unas distintas de ser necesario:

  • Binario Google Chrome: /usr/share/pandora_server/util/selenium_headless_drivers/chrome/google-chrome
  • Chromedriver: /usr/share/pandora_server/util/selenium_headless_drivers/chromedriver
  • Binario Mozilla Firefox: /usr/share/pandora_server/util/selenium_headless_drivers/firefox/firefox
  • Geckodriver: /usr/share/pandora_server/util/selenium_headless_drivers/geckodriver

Estos drivers se pueden descargar de la librería de Pandora FMS en un paquete y descomprimirlos en la ruta por defecto:

https://pandorafms.com/library/selenium-4-discovery/ 

Para que los navegadores se puedan iniciar en este modo, también serán necesarias sus dependencias concretas instaladas en el sistema:

  • Para Mozilla Firefox: gtk3, alsa-lib, libX11-xcb
  • Para Google Chrome: nss, libdrm, mesa-libgbm

Driver remoto

El plugin se conectará a un servidor de Selenium 4 indicado mediante su URL, por lo que será necesario contar con acceso desde el servidor que ejecute el plugin hacia el servidor de Selenium 4 mediante el puerto que tenga a la escucha (por defecto 4444 TCP).

Docker local

El plugin iniciará un contenedor de Docker en el servidor donde se ejecute usando una imagen que contenga los drivers indicados para el modo "driver local", permitiendo abstraer las dependencias del equipo real.

Por defecto se usará la imagen "pandorafms/pandora_selenium_headless" (aunque será posible indicar una distinta para cada ejecución), y los drivers se buscarán dentro del docker en las siguientes rutas:

  • Binario Google Chrome: /tmp/lib/chrome/google-chrome
  • Chromedriver: /tmp/lib/chromedriver
  • Binario Mozilla Firefox: /tmp/lib/firefox/firefox
  • Geckodriver: /tmp/lib/geckodriver

Docker remoto

El plugin conectará mediante SSH con usuario y contraseña a un servidor remoto, en el cual ejecutará una copia del propio plugin (copiada en el momento) en modo docker local.

Por lo tanto, junto a los requisitos del modo anterior, se debe permitir también la conectividad con el servidor remoto por SSH con las credenciales indicadas en el puerto indicado (por defecto 22 TCP).

El usuario indicado para la conexión SSH deberá contar con permisos suficientes para iniciar el contenedor de Docker y acceder los ficheros copiados en el directorio temporal.

Se usará un directorio temporal para copiar los ficheros al servidor remoto (por defecto "/tmp"), aunque se podrá indicar una ruta distinta en cada ejecución.

Requisitos opcionales

Para todos los modos de ejecución será posible hacer uso de perfiles de Google Chrome o Mozilla Firefox para cada transacción. En caso de hacer uso de esta característica, se deberá asegurar que en el servidor donde se lance la transacción (ya sea remoto o local) se encuentren las rutas a dichos perfiles.

En los modos de ejecución de Docker, será el servidor anfitrión el que deba tener las rutas a las carpetas de los perfiles, ya que el plugin montará dichas carpetas como volumenes del contenedor que inicie.

También será posible realizar una monitorización de estadísticas de conexión a la URL principal del SIDE indicado en cada ejecución. Para ello será necesario contar con el ejecutable "curl" instalado en el equipo donde se lance el plugin. Se debe tener en cuenta que si la ejecución del test se realiza en modo driver remoto, las estadísticas no se obtendrán desde el servidor de Selenium 4, si no desde el servidor que ejecuta el plugin.