Automatizar con CodedUI

Cuando tenemos una versión estable de nuestra aplicación, nos encontraremos con un camino nuevo que podremos empezar a utilizar y sacar el 100% del partido. Es la automatización.







La automatización de pruebas de software es una manera de ahorrar en tiempos y en costes a largo plazo y que nos permite poder comprobar de una manera muy robusta y optimizada, la aplicación en la que trabajemos.



Desde mi punto de vista, una buena batería de automatización contará con los caminos felices y los casos de regresión, no con validaciones complejas, excepciones, caminos extraños o puntuales. Siempre hay que intentar mantener una batería de pruebas que sea lo más completa posible en ese sentido.



Para automatizar, si además trabajamos con entornos Microsoft o relacionados con el mismo, siempre recomiendo utilizar CodedUI.



¿Que ventajas se pueden encontrar en CodedUI?


  • Está totalmente integrado con la suite de trabajo de Microsoft (Visual Studio, TFS, Test Manager, IExplorer, Edge...entre muchos otros).

  • El código es bastante permisible, tiene varios caminos para realizarlos, se puede generar automáticamente o se puede picar desde el principio, personalizándolo a nuestro parecer.

  • Se pueden utilizar los Laboratorios de MTM y de esta manera reutilizarlo para todos los entornos y combinatorias posibles o que quisieramos cubrir.

  • Se puede crear una total independencia con cada test creado, siendo muy personalizable y atómico.



Para comenzar a automatizar en CodedUI tenemos que agregar una Prueba de IU codificada desde el explorador de soluciones de Visual Studio. 





Después de agregarla, podemos utilizar el grabador de CodedUI que es muy sencillo de utilizar:





Este grabador tiene un botón similar al de REC, como vemos en la captura de pantalla y podemos comenzar a grabar los pasos que vayamos realizando en el navegador o en la pantalla.





Una vez que estemos grabando con el grabador de acciones, podemos añadir aserciones o más acciones con un simple click de ratón (pulsando al icono del circulo).





Después de añadir la acción o la aserción, pulsaremos "generar código" y se creará el CodedUI de la prueba que acabamos de grabar con sus pasos correspondientes, un ejemplo es el siguiente:




[CodedUITest]
public class CodedUITest1
{ ...
[TestMethod]
public void CodedUITestMethod1()
{
this.UIMap.diarioDeUnTester();
this.UIMap.VerifyResultValue();
// To generate more code for this test, select
// "Generate Code" from the shortcut menu.
}
}





Como podemos comprobar, es un código muy sencillo y limpio, que nos permite personalizar todo lo que queramos en cualquier momento.





Si tenemos una acción ya grabada y codificada, la podemos editar en cualquier momento, abriendo, en este caso el archivo UIMap.uitest.





También nos permitirá validar un control (por ejemplo, que en un campo de texto aparezca el valor correcto). Solo hay que añadir a la clase UIMap algún tipo de control o método. Podéis encontrar más información aquí.





Si, además, utilizamos Test Manager, tenemos una tabla en la que se especifican los tipos de pruebas automáticas que se pueden crear y las que se pueden ejecutar como parte del plan de pruebas que tengamos creado:







Existe mucha información, sobre todo en la documentación de MSDN sobre CodedUI. Aquí os he explicado a grandes rasgos como comenzar a automatizar en CodedUI y algunas de sus ventajas, pero es un mundo muy amplio que daría para muchos artículos y muchas conversaciones, ya que cada cual utiliza sus herramientas y sus maneras de trabajar, solo espero haber añadido algo de luz sobre esta herramienta y os animo a probarla.

0 Comentarios