# Plugin pandora UX # Introducción **Ver**. 28-04-2022 Plugin que permite la ejecución estándar de sesiones pregrabadas PDR y PWR. Mediante el uso del plugin, se pueden realizar chequeos de una manera más parametrizada, lo que hace que se pueda crear una ejecución más personalizada que con wux server. Además se pueden crear tantas ejecuciones independientes como sean necesarias, en máquinas totalmente independientes en ubicaciones geográficas distantes y no sincronizadas en modo alguno. # Matriz de compatibilidad
**Sistemas donde se ha probado** | Rocky Linux 8.5 |
**Sistemas donde debería funcionar** | Cualquier sistema linux |
Nombre | Descripción |
-exe | Directorio al binario de tu utilidad de automatización o herramienta de test. También es posible seleccionar el modo interno: \*\* Solo Windows: PDR - herramienta compleja de chequeos de escritorio \*\* windows & linux: PWR - herramienta compleja de chequeos web (con Selenium) \*\* requiere curl en el PATH: stats - monitorización rápida del rendimiento del web server \*\* solo linux: goliat – chequeos web basadas en Pandora Webserver |
-args (opcional) | Argumentos para la herramienta de automatización |
-script | Script(s) a ejecutar. Se pueden definir tantos como se necesiten. Por ejemplo: -script script1,script2,script3 |
-folder (opcional) | Directorio en el que se almacenarán los screenshots |
-name (opcional) | \* PWR: define el nombre de la transacción \* PWD: nombre de la fase, se pueden definir tantas como se necesiten ejemplo: -name phase1,phase2,phase3 deberían coincidir con los scripts definidos |
-pwr\_port(opcional) | Puerto de escucha del servidor PWR 4444 por defecto, requiere -exe PWR |
-pwr\_host(opcional) | Host en el que se encuentra el servidor PWR Localhost por defecto, requiere -exe PWR |
-pwr\_browser(opcional) | Navegador en el que se ejecutarán los chequeos PWR \*Firefox por defecto, requiere -exe PWR |
-pwr\_classic(opcional) | Usa las librerías antiguas Test::WWW::Selenium PandoraFMS::WebDriver, requiere -exe PWR, 0 por defecto |
-pwr\_override\_global\_phase\_time (opcional) | Sustituye el valor del modulo global time, por la sumatoria de todas las phases. Si el token está a 1, se usara como valor del módulo la suma de todas las fases. |
-retries (opcional) | Número máximo de reintentos en caso de error |
-ss\_config (opcional) | Configuración de los screenshots: X,Y,Ancho,Altura ejemplo: -ss\_config 0,0,100,100 obtendrá una imagen de 100x100 desde las coordenadas 0,0 \[solo Windows\]: activa el parámetro -ss\_config para capturar la ventana activa |
-checkpoint (opcional) | Crea un nuevo screenshot de control |
-s(opcional) | Macro de sustitución, Sustituye cada instancia de \_texto\_ por el valor configurado. Es posible usar now+1 como valor para insertar el día actual. Se pueden configurar tantas macros (-s) como se necesiten, seguidas con el formato (-f) en caso de que sea necesario: -s macro1=value1 -f format1 -s macro2=value2 -f format2 |
-f(opcional) | Formato para las macros de tipo fecha usa notación std: ejemplo: -f "%y%m%d" con fecha 2016, Sep 13 para obtener 160913 |
-k(opcional) | Usa la salida de errorlevel para los chequeos en caso de fallo. Se comprueba por defecto en caso de que el plugin devuelva alguna fase de ‘\[error\]’ |
-max\_differences(opcional) | Especifica el porcentaje máximo de diferencia entre la imagen de control y las obtenidas como resultado del test. Por defecto está configurado con el valor numérico 0.5 |
-to (opcional) | Dirección de email de destino que se enviará en caso de error |
-from (opcional) | Remitente del email |
-subject (opcional) | Asunto del email |
-content (opcional) | Contenido del email |
-smtp\_gw (opcional) | Gateway del servidor smtp, 127.0.0.1 por defecto |
-smtp\_port (opcional) | Puerto del servidor smtp. 25 por defecto |
-t name (opcional) | (solo modo PDR) habilita y configura un nombre para la transacción “global”. De esta manera todos los módulos de los chequeos irán asociados al módulo de transacción global, llamado ‘UX XXXX nombre’ |
-interval (opcional) | Configura un module interval para los módulos resultantes del chequeo |
-g (opcional) | Configura un module group para los módulos resultantes del chequeo |
-post (opcional) | Comando que se ejecutará al acabar el chequeo, por ejemplo, matar firefox: -post "taskkill /F /IM firefox.exe" -post "killall firefox" |
-tag\_list x (opcional) | Añade x (separados por comas) tags a los módulos generados, ejemplo: tag1,tag2,... |
-exit\_on\_fail (opcional) | Termina inmediatamente la transacción si no es posible conectar con el servidor PWR. 0 por defecto |
-phase\_snapshot (opcional) | Genera un screenshot por fase. 0 por defecto |
-classic\_mode (opcional) | El token a 0 siempre actualiza la latencia. El token a 1 solo actualiza la latencia si la comprobación ha resultado exitosa. 0 por defecto |
-v (opcional) | Activa el modo verbose |
-agent (opcional) | Define la ejecución como plugin de servidor, configura el nombre del agente en el que se almacenarán los módulos de salida |
-agent\_group (opcional) | Si se define el token “agent” y crea un agente nuevo, configura el grupo al que pertenecerá. |
-interval (opcional) | Si se define el token “agent” y crea un agente nuevo, configura el intervalo que tendrá. 300 por defecto |
-tentacle\_ip (opcional) | ip del servidor tentacle. 127.0.0.1 por defecto |
-tentacle\_port (opcional) | Puerto del servidor tentacle. 41121 por defecto |
-tentacle\_opts (opcional) | Opciones extra del servidor tentacle |
-local\_folder (opcional) | Directorio local de tentacle. /var/spool/pandora/data\_in por defecto |
-mode (opcional) | \[local|tentacle\] modo de transferencia, “local por defecto” |
La temperatura de la placa solar es de: 54º C
```Sistemas con varios escritorios pueden resultar problemáticos, por lo que se recomienda siempre utilizar la configuración anteriormente descrita, en una máquina en modo escritorio con autoinicio de sesión y un único escritorio.
# Configuración en PandoraFMS **Ejemplo ejecutar el plugin como plugin de agente** Para usar este plugin en modo agente, se debe llamar al plugin con un comando con los parámetros que se estén usando, esto se puede hacer desde el archivo pandora\_agent.conf situado en "/etc/pandora". Aunque si esta habilitada la configuración remota se puede hacer desde la consola. [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647356034558.png) Para llamar al plugin se usará el parámetro `module_plugin` seguido del comando al final del archivo: Ejemplo: ``` module_plugin /pandora_ux.64 -exe pwr -script login_pandora.side -pwr_port 4444 -pwr_host 172.42.42.1 ``` En el siguiente intervalo que se actualice el agente aparecerán los módulos dentro del agente software en el que lo estamos llamando. [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-08/image-1660823361674.png) **Ejemplo ejecutar el plugin como plugin de servidor** Se debe ir a servidores > plugins: [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647441477355.png) Pinchar en añadir: [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647441559604.png) Se le pone el nombre y la descripción que se prefiera: [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-08/image-1660833282899.png) Abajo en "comando del plugin" se debe introducir la ruta en la que tenemos el plugin de UX. En parámetros del plugin se introducirán todos los que queramos usar para customizar la ejecución del plugin seguido de la macro \_field\_ que nos permitirá almacenar los valores de estos parámetros más abajo. **\* Si se va a usar el plugin como plugin de servidor, se debe usar el parámetro agent, ya que este hace que la ejecución del plugin muestre un valor básico con el que podremos ver el estado de la ejecución en vez de un xml que es lo que usaríamos si queremos usar el plugin en modo agente.** [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-08/image-1660833394065.png) Se le puede añadir una descripción a cada macro para identificarlas seguido de un valor. Macro \_field1\_ [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647349972507.png) Macro \_field2\_ [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647350000362.png) Macro \_field3\_ [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647350034720.png) Macro \_field4\_ [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647350051952.png) Macro \_field5\_ [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647350070959.png) Una vez hecho esto se puede ver en la vista previa del comando este, y ejecutándolo por terminal se puede ver si los datos introducidos son correctos. [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-08/image-1660833583797.png) Si se introduce por terminal debería mostrar un 1 si todo ha ido correcto con la transacción. Una vez realizados estos pasos y configurado el plugin al antojo del usuario, se debe crear un módulo, que mostrará el estado de la ejecución del plugin, para ello es requerido ir a un agente y crear un nuevo módulo de servidor de complementos. [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647441796782.png) Se le pondrá al módulo el nombre que queramos. [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-08/image-1660833682879.png) Y en la etiqueta de plugin se seleccionará el que se acaba de crear, se puede ver como aparecen los parámetros que hemos metido por las macros abajo. [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-08/image-1660833700342.png) Una vez hecho esto se debe crear el módulo y aparecerá en la vista de módulos con 1 si la ejecución del plugin no esta teniendo problemas. [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647350259697.png) Se puede ver que se ha creado un agente con el nombre que se le puso por parámetro. [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647350286122.png) Y dentro de este se pueden ver los módulos con el estado de la transacción. [](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1647350330558.png) # Módulos generados por el plugin **Con grabación de solo una fase** Se devolverán los siguientes módulos: - UX\_Time\_nombre\_proyecto - UX\_Status\_nombre\_proyecto Si hay alguna fase con error, se creará también el módulo siguiente: - UX\_Snapshot\_nombre\_proyecto **Con grabación del chequeo con la información adicional basada en transacciones** Se devolverán los siguientes módulos por fase: - UX\_Time\_nombre\_phase<orden><fichero><acción> - UX\_Status\_nombre\_phase<orden><fichero><acción> Si hay alguna fase con error, se creará también el módulo siguiente: - UX\_Snapshot\_nombre\_phase<orden><fichero><acción> Mostrará una imagen de la web en el momento del error. También se devolverán los módulos de resumen globales identificados con los siguientes nombres: - UX\_Global\_Time\_nombre\_proyecto - UX\_Global\_Status\_nombre\_proyecto - UX\_Global\_Snapshot\_nombre\_proyecto Mostrará una imagen de la web en el momento del error.