En Mi Local Funciona

Technical thoughts, stories and ideas

Analizando la herramienta Mabl: Tests end-to-end con inteligencia artificial

Publicado por Cristina Lopez-Goicochea Juarez el

QAInteligencia ArtificialTest End-to-EndMablJiraJenkins

En este post os presentamos los resultados del análisis realizado a la herramienta Mabl. Con esta herramienta podemos hacer tests end-to-end utilizando inteligencia artificial. Además, también permite la integración con otras plataformas, entre ellas Jenkins y Jira, que serán las que veremos en este post.

Obtención de un trial y credenciales de acceso

Para poder bajarnos un trial, necesitaremos ir a su página oficial https://www.mabl.com/

Haremos clic en Start Free Trial. Introducimos los datos necesarios y después de hacer las comprobaciones necesarias, recibiremos el acceso a Mabl.

Una vez hemos accedido correctamente con nuestras credenciales, veremos una pantalla como la siguiente:

En la parte izquierda de la pantalla vemos las diferentes opciones de menú. También nos da la opción de descargar la aplicación de escritorio de Mabl.

Creación de un workspace

Al iniciar Mabl, éste cuenta con un Workspace por defecto. No obstante, podemos crear uno nuevo. Para ello, iremos al menú Settings > Workspace y crearemos el nuevo Workspace. El ID del Workspace nos servirá para poder posteriormente realizar la integración con Jira.

Creación de una aplicación

Una vez generado el Workspace, lo siguiente que deberemos hacer será generar una nueva aplicación, en la cuál englobaremos todos los Flows, Tests y Plans (que englobarán un conjunto de tests). Para ello, iremos al menú Configuration > Applications y generaremos una nueva aplicación. Esta aplicación estará bajo el Workspace generado.

Como podemos observar en la imagen, la aplicación lleva configurada la URL sobre la cual realizaremos nuestros tests. Adicionalmente, también podemos establecer el nombre del Environment en el que podremos configurar la url según el entorno a probar. Una vez hayamos añadido la información necesaria, hacemos clic en Save.

Al guardar los datos, veremos que se han añadido automáticamente dos tests. Estos tests los genera Mabl y servirán para verificar que el acceso a la URL establecida es correcta.

Si queremos desactivar un test, basta con acceder a él y desactivar el checkbox de ejecución.

Creación de un flow

Un Flow en Mabl, vendría a ser un test pero en este caso reutilizable. Un Flow reúne una serie de acciones que se repiten y que pueden ser posteriormente reutilizadas en futuros tests, como podría ser por ejemplo el caso de un login a una aplicación.

Para la creación de un Flow, generaremos un nuevo test, el cuál guardaremos como un Flow. Para ello haremos clic en el menú Tests ubicado a la izquierda y posteriormente haremos clic en New browser test > New visual Test.

Se nos abrirá una nueva pantalla de configuración, en la cuál introduciremos el nombre que le queramos dar al test y una breve descripción. Adicionalmente podemos etiquetar el test con una o más etiquetas. Finalmente, escogemos si queremos añadir el test a un plan existente, generar un nuevo plan o bien no añadirlo a ninguno. Por último, especificamos a qué aplicación y environment deberá ir incluido el nuevo test. Hacemos clic en Create test.

De forma automática se nos abrirá el navegador con los botones de control de Mabl para la generación del test. Como vamos a crear un Flow, haremos clic en el botón + de la parte inferior y seleccionamos que queremos incluir un Flow. Indicamos el nombre que le queremos dar al Flow y posteriormente grabamos las acciones que queremos que contenga:

Finalmente guardamos los datos y el nuevo Flow se verá reflejado en Mabl. Para verlo iremos al menú Tests > Flows.

Creación de un test

Para crear un test, bastará con seguir los mismos pasos que hemos ejecutado para la creación del Flow, con la diferencia que en este caso, deberemos seleccionar, en tiempo de grabación del test, el Flow grabado anteriormente para poder utilizarlo en nuestro nuevo test. Para ello, haremos clic en el botón + de control en la grabación y seleccionaremos el Flow generado, de manera que éste pueda ser incluido en los pasos del test:

Mabl nos permite añadir elementos a los tests, como por ejemplo elementos condicionales, código Javascript, esperas, bucles entre otros elementos:

Añadimos los pasos necesarios para guardar el test y hacemos clic en Save:

Creación de un Plan

Un plan nos permitirá englobar de uno o varios tests de manera que posteriormente podamos ejecutar dicho plan y con él todos los tests que tenga vinculados. Para generar el nuevo plan, haremos clic en el menú Plans y posteriormente en el botón New Plan. Se nos presentará una pantalla como la siguiente:

Para crear el nuevo plan, indicamos el nombre que le queramos dar y una breve descripción. También podemos indicar, opcionalmente, etiquetas que lo identifiquen. Añadimos los tests que queramos incluir en el plan y en qué dispositivos vamos a lanzarlo (Desktop o Mobile) y los navegadores. Adicionalmente podemos configurar un trigger de ejecución del plan, para que éste se ejecute en un momento determinado. Cuando hayamos finalizado de introducir los datos hacemos clic en Save plan.

Para ejecutar el plan, bastará con hacer clic en el botón Play que veremos en la lista de planes (menú Plan). Una vez el plan se esté ejecutando, lo marcará con estado Running y podremos ver, en tiempo real, la ejecución de los tests viendo cada una de las pantallas que ejecuta.

Una vez finalice, podremos ver los resultados finales de la ejecución del plan.

Accediendo a la opción del menú Coverage, podremos ver toda la información relativa a todos los tests ejecutados hasta ese momento y la evolución.

Capacidades de Integración de Mabl

Mabl puede integrarse con diferentes aplicaciones como Slack, Jira Cloud, Jira Server, Github, Azure DevOps, Jenkins y GitLab, entre otros. Para ello, iremos al menú Settings > Integrations.

Integración con Jira

Para realizar la integración con Jira Cloud, haremos clic en Setup. Nos aparecerá un pantalla con el identificador del Workspace que hemos generado. Copiamos este identificador en un bloc de notas, por ejemplo.

Posteriormente, iremos al menú Settings > APIS y deberemos generar la clave API correspondiente al tipo de integración que queramos realizar. En este caso, como es Jira, seleccionaremos el tipo Issue Tracker y especificaremos un nombre a la clave API a generar.

Ahora deberemos instalar el Plugin de Mabl en Jira. Para ello, en Jira iremos a Aplicaciones > Buscar aplicaciones nuevas y buscaremos la aplicación "Mabl". Una vez instalada, configuraremos el plugin:

Para hacer la integración, necesitaremos el ID del Workspace, el cual hemos anotado previamente y la clave API generada en Mabl para la integración con Jira. Especificamos un nombre a la integración, indicamos el proyecto de Jira sobre el que se crearán las issues y probamos finalmente el acceso.

Una vez integrado correctamente nos aparecerá una línea como la siguiente:

Integración con Jenkins

Para realizar la integración con Jenkins, deberemos en primer lugar instalar el plugin de Mabl para Jenkins. En Jenkins, iremos al menú Administrar Jenkins > Administrar Plugins y buscaremos el plugin "Mabl". Una vez instalado, deberemos configurar las credenciales pertinentes. Para ello, deberemos crear primero en Mabl otra clave API, pero esta vez de tipo CI/CD Integrator.

Con la clave API generada, generaremos en Jenkins unas nuevas credenciales de tipo Secret Text, donde el valor de Secret será la clave API generada en Mabl.

Una vez generadas las credenciales, crearemos un nuevo Job dentro del apartado "Ejecutar > Añadir un nuevo paso", escogeremos la opción "Run mabl tests". Configuraremos el plugin de la siguiente manera:

Indicaremos las credenciales y automáticamente se nos desplegará la lista de aplicaciones y environments existentes en Mabl. Adicionalmente podemos filtrar por etiquetas y ramas. Al ejecutar el job, éste conectará con Mabl y ejecutará los tests según los parámetros establecidos en el job,

En Mabl aparecerán en estado Running todos aquellos tests lanzados desde Jenkins.

Issue Tracker en Jira

En el caso de haber algún test fallido en Mabl, podremos abrir una nueva issue en Jira, gracias a la integración realizada anteriormente. Para ello, deberemos acceder al resultado de la ejecución. Y en todos aquellos pasos del test fallidos, nos aparecerá el botón Create Issue.

Creamos la nueva issue con los datos que se consideren:

Si accedemos a Jira, veremos la issue finalmente creada con los adjuntos necesarios como evidencia.

Conclusión

En resumen, Mabl es una herramienta completa que nos permite ejecutar pruebas automatizadas mediante inteligencia artificial de una forma rápida y sencilla, todo ello sin tener que programar código fuente. Asimismo, las integraciones que tiene con otras plataformas como por ejemplo Jira nos permite la gestión de los fallos encontrados.

Si te ha gustado, ¡síguenos en Twitter para estar al día de nuevos posts!