Skip to main content

Automatización de las sesiones

Ejecución de sesiones PWR

Ejecución estándar

Para lanzar sesiones pregrabadas de PWR, indicaremos que el modo de trabajo es PWR (con el parámetro –exe), y el archivo que contiene las directrices de la sesión (con el parámetro –script):

pandora_ux_x64.exe -exe PWR -script tests\std.html

Opcionalmente, podremos indicar el directorio en el que guardaremos los screenshots en caso de fallo en el chequeo y la ip y el puerto en el que se aloja el hub de selenium que realizará el chequeo.

pandora_ux_x64.exe -exe PWR -script tests\std.html –folder C:\sondas\ -pwr_host 192.168.80.40 –pwr_port 4445

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

Mostrará una imagen de la web en el momento del error siempre y cuando se esté ejecutando en el mismo equipo en el que está corriendo el servidor de Selenium.

Ejemplo de salida con ejecución correcta:

<module>
<name><![CDATA[UX_Status_std.side]]></name>
<type>generic_proc</type>
<data><![CDATA[1]]></data>
<description><![CDATA[Test OK]]></description>
</module>
<module>
<name><![CDATA[UX_Time_std.side]]></name>
<type>generic_data</type>
<data><![CDATA[16.317]]></data>
<description><![CDATA[Test OK]]></description>
</module>

Ejemplo de salida con ejecución fallida:

<module>
<name><![CDATA[UX_Status_std.side]]></name>
<type>generic_proc</type>
<data><![CDATA[0]]></data>
<description><![CDATA[Failed to execute verifyText]]></description>
</module>
<module>
<name><![CDATA[UX_Time_std.side]]></name>
<type>generic_data</type>
<data><![CDATA[15.463]]></data>
<description><![CDATA[Failed to execute verifyText]]></description>
</module>
<module>
<name><![CDATA[UX_Snapshot_std.side]]></name>
<type>async_string</type>
<data><![CDATA[data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAA…JRU5ErkJggg==]]></data>
<description><![CDATA[Image (last error)]]></description>
</module>

Ejecución basada en transacciones

Si se ha realizado la grabación del chequeo con la información adicional basada en transacciones, será el propio sistema quien genere los módulos necesarios para identificar cada una de las fases indicadas.

pandora_ux_x64.exe -exe PWR -script tests\std.html –folder C:\sondas

Se devolverán los siguientes módulos por fase*:

- UX_Time_nombre_proyecto.fase_#orden
- UX_Status_nombre_proyecto.fase_#orden

Si hay alguna fase con error, se creará también el módulo siguiente:

- UX_Snapshot_nombre_proyecto.fase_#orden

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.

*#orden representa el número correspondiente al orden en que se ha declarado (1, 2, 3…)

Ejecución de sesiones PDR

Ejecución estándar

Para lanzar sesiones pregrabadas de PDR, indicaremos que el modo de trabajo es la ruta al fichero pdr.cmd, el argumento de dicho fichero “-r”, el archivo que contiene las directrices de la sesión (-script), el directorio donde almacenar las capturas de pantalla (-folder) terminando en ‘\’.

En la ejecución siguiente también se personaliza la captura de pantalla para recoger únicamente la ventana activa:

pandora_ux_x64 -exe C:\PDR\pdr.cmd -args -r -script C:\pandora_ux\calculadora.sikuli -folder C:\pandora_ux\ -ss_config active

Se devolverán los siguientes módulos:

- UX_Time_nombre_proyecto
- UX_Status_nombre_proyecto
- UX_Control_Snapshot_nombre_proyecto*

Si hay alguna fase con error, se creará también el módulo siguiente:

- UX_Snapshot_nombre_proyecto

Mostrará una imagen de la ventana activa (con –ss_config active) del momento del error.

Ejemplo de salida con ejecución correcta:

<module>
<name><![CDATA[UX_Status_calculadora.sikuli]]></name>
<type>generic_proc</type>
<data><![CDATA[1]]></data>
<description><![CDATA[C:\pandora_ux\calculadora.sikuli
completed
Control snapshot rebuilt
]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
</module>
<module>
<name><![CDATA[UX_Time_calculadora.sikuli]]></name>
<type>generic_data</type>
<data><![CDATA[20.204]]></data>
<description><![CDATA[C:\pandora_ux\calculadora.sikuli
execution
completed
Control snapshot rebuilt
]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
<module_parent>UX_Status_calculadora.sikuli</module_parent>
</module>
<module>
<name><![CDATA[UX_Control_Snapshot_calculadora.sikuli]]></name>
<type>async_string</type>
<data><![CDATA[data:image/png;base64,
IBCAIAAAAOCnfhAAAAAXNSR…/4x79e/7757f8H2C00s1C73yMAAAAASUVORK5CYII=]]></data>
<description><![CDATA[Control image rebuilt]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
<module_parent>UX_Status_calculadora.sikuli</module_parent>
</module>

* Sólo en la primera ejecución

Ejemplo de salida con ejecución fallida:

<module>
<name><![CDATA[UX_Status_std.html]]></name>
<type>generic_proc</type>
<data><![CDATA[0]]></data>
<description><![CDATA[Failed to execute verifyText]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
</module>
<module>
<name><![CDATA[UX_Time_std.html]]></name>
<type>generic_data</type>
<data><![CDATA[15.463]]></data>
<description><![CDATA[Failed to execute verifyText]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
<module_parent>UX_Status_std.html</module_parent>
</module>
<module>
<name><![CDATA[UX_Snapshot_std.html]]></name>
<type>async_string</type>
<data><![CDATA[data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAA…JRU5ErkJggg==]]></data>
<description><![CDATA[Image (last error)]]></description>
<tags>UX</tags>
<module_group>UX</module_group>
<module_parent>UX_Status_std.html</module_parent>
</module>

Ejecución basada en transacción

Si tenemos grabados diferentes procesos con PDR y hemos probado que funcionan al reproducirlos de forma continuada, haremos la ejecución del siguiente modo:

pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli
-folder C:\PDR\ -ss_config active

Como puede observarse, simplemente indicaremos la ruta del nuevo script en el parámetro -script separada por una coma del script anterior y utilizaremos el parámetro -t con el nombre de la transacción que englobará las diferentes fases. Si tuviésemos un proceso con más fases seguiríamos la misma lógica; por ejemplo:

pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t proceso_transaccional -script C:\PDR\script1,C:\PDR\script2,C:\PDR\script3,C:\PDR\script4 -folder C:\PDR\ -ss_config active

La línea a añadir al fichero de configuración del agente, para este caso, será la siguiente:

module_plugin pandora_ux_x64.exe -exe C:\PDR\pdr.cmd -args -r -t calculadora_trans -script C:\PDR\calc.sikuli,C:\PDR\savecalc.sikuli,C:\PDR\savefile.sikuli -folder C:\PDR\ -ss_config active -checkpoint -post "taskkill /F /IM calc.exe"

Gracias al parámetro -checkpoint podremos ver capturas del resultado final de cada fase en la consola de Pandora FMS.

Se devolverán los siguientes módulos por fase*:

- UX_Time_nombre_proyecto.fase_#orden
- UX_Status_nombre_proyecto.fase_#orden

Si hay alguna fase con error, se creará también el módulo siguiente:

- UX_Snapshot_nombre_proyecto.fase_#orden

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.

*#orden representa el número correspondiente al orden en que se ha declarado (1, 2, 3…)

Ejemplo de captura de imagen de web con transferencia incompleta:

image-1647513517031.png

Observación: Las capturas de error sólo se mostrarán cuando el cliente UX (PWR) y el servidor PWR estén corriendo en la misma máquina. En caso contrario, el directorio de entrega de las imágenes por parte del servidor PWR deberá ser accesible por el cliente para poder mostrar la imagen en Pandora.