Reporter y VRT - proyectosuniandes/Proyecto-MISO4208 GitHub Wiki
Estructura
El reporter cuenta con una estructura definida en por unas plantillas en HTML, las cuales toman las evidencias creadas por la unidad mas baja de la aplicación de generación de pruebas (las ejecuciones) y reúne esta información (previamente guardada en un S3) para reunirla y agruparla por tipo de prueba en un informe por Estrategia de Pruebas.
En cada ejecución, se especificará, el dispositivo de la prueba (navegador, android, etc.) y la versión de la aplicación destino que se va a probar (MantisBT, Calendula o Loop Habit Tracker). Una vez se desplieguen los acordeones se podrán observar las evidencias correspondientes a cada tipo de prueba (imágenes, videos, texto, json, etc.)
Proceso
El reporter es un servicio que se ejecuta cada minuto, el cual en cada ejecución consulta en la base de datos aquellas estrategias de pruebas que tengan todas sus ejecuciones en estado "ejecutado" y que la estrategia este en estado "pendiente", una vez tome esta información, se consulta los resultados de las pruebas ejecutadas, las cuales están albergadas en una ruta del S3 cuya estructura es "result/id_estrategia/id_prueba/id_ejecucion". Cuando el reporter toma la ruta de estos archivos, los compila y organiza en el informe consolidado el cual será guardado en el S3 bajo la estructura "consolidado/id_estrategia/report.html". Por ultimo el proceso actualiza la ruta donde se guarda el informe consolidado en base de datos y actualiza el estado de la estrategia a "ejecutado".
VRT
Al crear una estrategia y si sus pruebas tiene el modo VRT, cada worker sea E2E, Random o BDT se encarga de ejecutar la prueba contra la version de app correspondiente y el tipo de navegador si aplica dentro de la matriz de navegadores.
Al finalizar la ejecución cada worker almacena en S3 en una carpeta VRT los screenshots contenidos en el script de prueba para que finalmente el Reporter genere la diferencia y consolide la prueba.
Los resultados de la comparación hecha con ResembleJS se adjuntará en el reporte final de la estrategia, donde se mostrará la imagen con prefijo uno, versus la imagen con prefijo dos y la imagen resultado resaltando en color violeta las diferencias de ambas imágenes.