top of page

Comenzando con las pruebas automatizadas con RSAT en F&O

  • Foto del escritor: Mariano Martinez Melo
    Mariano Martinez Melo
  • hace 2 días
  • 8 Min. de lectura

Este es un escenario muy común en implementaciones y mantenimiento de versiones que seguro les pasó: llega el momento de aplicar una actualización de versión de Microsoft o de subir un nuevo desarrollo a producción y empieza el problema. Consultores y usuarios clave con una lista de casos que prueban procesos manuales durante horas, repitiendo una y otra vez los mismos clics para crear un pedido de venta o una recepción de compra. Lo cual no solo lleva tiempo, sino que es muy costoso. Entonces, ¿cómo nos ayuda Dynamics?


Acá es donde entra RSAT (Regression Suite Automation Tool). Como su nombre lo indica, es una herramienta que automatiza las pruebas. Esto es muy beneficioso para escenarios de pruebas de regresión y UAT. Imagínalo como ese asistente incansable que no toma café, no se distrae y hace exactamente lo que le pediste, una y otra vez, avisándote en segundos si algo falló. Lo cual reduce los tiempos de prueba de semanas a horas o días.


En esta primera parte sobre pruebas automatizadas vamos a ver cómo configurar esta herramienta y cómo ejecutar nuestra primera prueba.


¿Qué es RSAT y por qué debería importarnos?

RSAT es una herramienta que se instala en una máquina virtual de pruebas conectada al tenant del entorno. Y como bien dijimos, toma una lista de casos definidos de prueba que se alojan en DevOps y los ejecuta secuencialmente.


Para realizar el proceso se conecta con varias herramientas y son necesarios distintos componentes:


El ciclo es sencillo:

  1. En D365F&O, utilizando el grabador de tareas, realizamos una nueva grabación replicando los pasos hasta completar la prueba.

  2. Esta grabación debe guardarse; para ello, podemos hacer uso de Lifecycle Services, en caso de que estemos usando el Modelador de procesos de negocio o BPM (BPM, por sus siglas en inglés). Esta herramienta, que hace varios años nos servía para documentar y definir los procesos de negocio, sirve de nexo entre el proceso y el plan de pruebas definido en DevOps. Como no es algo muy utilizado, este paso es opcional.

  3. También se pueden subir directamente al plan de pruebas de DevOps. La gran diferencia es que este proceso es manual, hay que descargar el archivo de la prueba y adjuntarlo al caso de pruebas en DevOps.

  4. Una vez realizado, debemos acceder a nuestra máquina virtual (VM) y, desde allí, conectarnos al entorno a través de la aplicación de RSAT. En esta plataforma podremos configurar los datos de las pruebas antes de la ejecución si cambia nuestro conjunto de datos y también seleccionar los datos a testear.

  5. Una vez listos, corremos las pruebas y RSAT ejecutará cada una de las pruebas seleccionadas directamente en D365F&O, utilizando para ello las grabaciones y los datos que le proporcionamos. Si la prueba pasa, nos marcará el resultado en la misma plataforma, y si la prueba falla por cualquier motivo generará un log de errores con los mensajes de D365F&O

  6. Finalizada la ejecución va a subir los datos de la prueba a DevOps donde podremos analizar los resultados. En resumen, guardamos las pruebas en DevOps, ejecutamos las pruebas automatizadas en secuencia desde RSAT y luego revisamos los resultados. Pero para que todo esto funcione, debemos instalar todos los componentes. Asi que manos a la obra


Paso 1: Los cimientos (Requisitos previos)

Antes de darle al botón de instalar, necesitamos que el entorno esté ordenado. Sin esto, la herramienta no va a funcionar:

  1. LCS y BPM: En nuestro caso vamos a realizarlo todo desde un entorno sandbox disponibilizado en LCS, sin BPM. Pero en caso de que tengan BPM desde LCS, se puede asociar. Para esto necesitamos acceso al LCS como administrador de proyectos o de entornos. Esto es para la configuración inicial y la conexión de DevOps al entorno.

  2. Azure DevOps: RSAT vive conectado a Azure DevOps. Ahí es donde se guardan nuestros casos de prueba. Necesitamos generar un test plan, por lo que es necesario contar con un licenciamiento, aunque sea Basic + Test Plan, para poder crearlo.

  3. VM con Excel: Necesitamos una vm para instalar RSAT. Además, tengamos en cuenta que RSAT usa Excel para que podamos cargar los datos (precios, cantidades, proveedores) sin acceder al ERP.

  4. Un entorno D365F&O con permisos de administrador, este usuario es el que se utilizará para la ejecución de las pruebas



Paso 2: Preparación de los componentes

Antes de empezar, necesitamos preparar algunos componentes que nos va a solicitar el programa de RSAT. Así que agarramos lápiz y papel y anotamos algunas cosas.

Algunas de estas acciones, seguramente las tienen realizadas si utilizan LCS y DevOps pero no vienen mal recordarlas. 1- Como primer paso, debemos crear un token de acceso a Azure DevOps.

Así que dentro de Azure DevOps, con el usuario licenciado, vamos a User settings > Personal Access tokens.

Aquí creamos uno nuevo. Definan el tiempo y recuerden que cuando pierdan acceso, probablemente sea el token que expiró. Tambien asegurense de darle Full Access:

Cuando le damos crear nos saldrá este mensaje con nuestro token:

MUY IMPORTANTE: Copien el código que les muestra porque no se puede ver nuevamente, y si lo pierden van a tener que crear uno nuevo. Este token nos va a servir más adelante.

2- Luego vamos LCS y entramos en la configuración del proyecto Luego a Azure DevOps. desde aqui agregamos nuestro entorno de Azure DevOps (recuerden que la url es: <nombre-de-organizacion>.visualstudio.com) y luego nos va a pedir el Token que creamos anteriormente.


3- Aqui mismo, en LCS, nos dirigimos al entorno a probar, y descargamos los certificados. En mi caso lo estoy realizando con un sandbox por lo que los certificados se descargan desde full details del entorno y luego en mantener > descargar certificados:


Nos dará un mensaje de que se descargaran los certificados y que la contraseña se va a mostrar en la pantalla, así que le damos a continuar, copiamos y guardamos la contraseña que nos dé. Esto nos va a servir mas adelante.


4- Nos queda instalar los certificados, antes de pasar a la instalación de RSAT.

Asi que ingresamos en nuestra VM y desde ahi buscamos los certificados que acabamos de descargar. Vamos a encontrar dos uno .cer y otro .pfx.

Primero ejecutamos el .cer y le damos a instalar. Luego seleccionamos Local Machine (o equipo local) y lo instalamos en el almacén de certificados de Trusted root certificate (Entidades de certificación de raíz de confianza.. curiosamente extraño el nombre en español)

Nos va a decir que se importo correctamente, luego instalamos el .pfx, mismo proceso pero lo vamos a instalar el el almacén Personal. Luego nos va a solicitar la contraseña y le escribimos la que nos dió el LCS en el paso anterior.

Finalmente abrimos el .cer con doble click, vamos a detalles y copiamos el Thumbprint (o huella digital). Esto nos lo solicitara luego el RSAT.


Y por último, pero no menos importante. Tendremos que dirigirnos a DevOps nuevamente y crear un Test Plan:


Paso 3: Instalación y configuración de RSAT

Para instalar RSAT tenemos que descargarlo desde aquí. Es importante que lo descarguemos directamente en la VM para poder instalarlo ahi.


La instalación es un "Siguiente, Siguiente", pero ojo con esto: asegúrense de ejecutar el instalador como administrador. Además, como RSAT corre sobre Selenium, es probable que solicite instalar librerías adicionales de Selenium o de algún navegador que use Chromium (Chrome o Edge). En tal caso, acepten la instalación.


Vamos a abrir el programa de RSAT y configurarlo. Para ello van a la solapa de configuración (un engranaje). El setup se divide en Tres partes:

Azure DevOps:


Aqui configuramos:

  1. Azure DevOps URL: Dirección de nuestro Azure DevOps

  2. Access token: El token que generamos anteriormente en Azure DevOps.

  3. Project Name: Seleccionan de la lista desplegable el nombre del proyecto

  4. Test Plan: Nuevamente, seleccionan el nombre del test plan de la lista desplegable.


Finance and operations test environment


Aqui configuramos:

  1. Hostname y SOAP Hostname: entorno de Finance and Operations a probar. Sin el http y sin el / final. Una nota importante es que si el entorno es Sandbox o tier 2 para arriba, estos dos campos son iguales. Si es un entorno Cloud, ahí tienen que conectarse a la VM y en el archivo web.config van a poder obtener el SOAP Hostname.

  2. Admin user name: Cuenta del usuario administrador. Es el que va a utilizar el RSAT para ejecutar las pruebas.

  3. Company Name: Nombre de la compañía donde se ejecutan las pruebas.

  4. Luego tendremos que seleccionar cuál va a ser el modo de autenticación. Existen dos maneras: basadas en certificado o en usuario. Nosotros estamos configurando basado en certificado, así que nos vamos al campo de thumbprint y seleccionamos del desplegable el que instalamos en los pasos anteriores. En el caso de que queramos utilizarlo basado en el usuario, debemos configurar Key Vault en Azure y con esos datos podremos conectarlos al RSAT.


Run Settings

Aquí le seteamos el directorio donde vamos a guardar las configuraciones y el navegador por defecto.


Y listo, si le dan al test de conexión, deberían recibir un mensaje de que se conectó correctamente. Si no es así, seguramente hay algo mal configurado; debemos revisar los datos nuevamente.


Paso 3: Grabando nuestra primera prueba (Task Recorder)

Acá es donde sucede la magia. No escribimos código, grabamos procesos.

  • Entramos a Dynamics 365.

  • Abrimos el Task Recorder (Grabador de tareas).

  • Hacemos el proceso completo (ejemplo: crear una orden de compra).

  • Guardamos el archivo como un paquete de grabación para desarrolladores.



Recuerda que es muy importante: debemos guardar el archivo de grabación de desarrollo y no el paquete de la grabación de tareas; con esto podremos darle instrucciones claras al RSAT.


Con este archivo, vamos a Azure DevOps, y lo subimos en nuestro caso de pruebas. Esto lo hacemos en los archivos adjuntos del caso:



Paso 4: De Dynamics a RSAT

Ahora nos toca volver al RSAT nuestra máquina y le damos al botón "Load".


Esto va a importar nuestro test plan completo, aunque no tengan grabaciones asociadas, así que cuidado, por esto puede hacernos pensar que algo está errado.


Ahora vamos a generar los archivos de ejecución y parámetros del caso. Esto lo hacemos seleccionando el/los casos y haciendo clic en Generate > Test Execution and parameter files.


Aquí vamos a ver que nos crea unos archivos y uno particular de parámetros que es un Excel. Por el momento no vamos a meternos mucho ahí, pero sí lo veremos en un próximo video, así que ¡atentos!.


Paso 5: ¡A testear!

Ahora viene lo mejor. Seleccionamos el caso de prueba y le damos a "Run". Verán que se abre una ventana del navegador sola. El sistema empieza a navegar la plataforma, a elegir artículos y a registrar transacciones a una velocidad que ningún consultor podría igualar.


Una vez completado, vamos a ver qué nos da el resultado en la plataforma:


Y si vamos a Azure DevOps vamos a tener el log y los resultados en el test plan que creamos:


Aquí podemos empezar a analizar paso a paso a paso cómo se realizó la prueba y qué valores y variables tenemos asociadas



Conclusión: ¿El fin de las pruebas eternas?


Implementar RSAT lleva un esfuerzo inicial, no les voy a mentir. Hay que preparar los datos y grabar los procesos. Pero el beneficio es enorme: pasamos de semanas de pruebas de regresión a solo unas pocas horas.


Nosotros, como consultores, dejamos de ser "cargadores de datos" y pasamos a ser analistas de resultados. Lo cual nos genera un gran valor dentro del ciclo de pruebas.


A nivel de costos, también es un beneficio: es una herramienta gratuita y, comparada con otros proveedores, no tiene un costo de licenciamiento. El costo radica únicamente en la licencia de DevOps y el costo de la VM.


¿Ustedes ya lo están usando en sus proyectos o siguen con la planilla de Excel manual?

Si tuvieron problemas al configurar el certificado (que siempre es lo más rebelde), déjenme su duda en los comentarios y lo vemos.


No se pierdan el próximo video, que vemos cómo secuencializar las pruebas y que beneficio nos dan los

Nos vemos en el siguiente #ConsejoDynamics.

 
 
 

Comentarios


bottom of page