6/1/2009 23:39
El Bruno
[VSTS2010] Pruebas de UI para aplicaciones Windows (uno de los mejores regalos de reyes)

Buenas
hace unos meses en un número de MSDN Magazine se presentó una biblioteca de clases que permitían crear pruebas unitarias para aplicaciones windows: Microsoft UI Automation Library. El amigo Rodrigo Corral, nos describió un poco el funcionamiento de este set de clases para poder utilizarlas en nuestros proyectos; pero si has intentado hacer algo un poco más complicado que un “Hola Mundo” seguramente has comprendido que este proyecto promete mucho, pero todavía requiere un nivel de madurez un poco mayor para ser práctico.
Por suerte Visual Studio Team System 2010 soluciona este problema integrando este y otros frameworks de prueba dentro del IDE de desarrollo y ejecución de Visual Studio. En particular para afrontar este tipo de escenarios se han creado los llamados Coded UI Tests. Que son un nuevo tipo de elemento que se puede crear en un proyecto de tipo Test.
El siguiente tutorial muestra una serie de pasos para crear un proyecto de Test y agregar una prueba para una aplicación Windows.
Tutorial
1. Para este ejemplo partimos de una aplicación Windows que a partir de 2 cajas de texto, suma los valores de las mismas en una tercera cuando se cambian los valores.
2. Para probar desde un test en Visual Studio la funcionalidad de esta aplicación utilizando una prueba unitaria; dentro de un proyecto de Test agregaremos un nuevo elemento de tipo CodedUITest como muestra la siguiente imagen
3. Lo siguiente que nos llama la atención es que antes de crear la clase de test, se require con que mecanismo crearemos nuestro test. La siguiente imagen muestra las opciones disponibles y para este ejemplo seleccionaremos “Use the UI Control Locator”
4. La acción anterior lanza una aplicación que nos permite obtener los controles que posee una aplicación utilizando Drag & Drop y a partir de la misma podemos obtener todos los controles que necesitamos para la prueba. En nuestro ejemplo, obtenemos las 3 cajas de texto.
Además de obtener los controles, podemos organizar los mismos jerárquicamente en el árbol de la izquierda y definir como queremos acceder a los mismos.
5. Una vez obtenidos los controles, es necesario que definamos a que propiedades de los controles queremos acceder en tiempo de ejecución para trabajar con las mismas.
6. Presionamos el boton “Generate Code” y podremos ver como se genera el codigo necesario para acceder a la aplicación y trabajar con la misma.
7. Modificando el código generado, puedo crear rápidamente un test que pruebe si mi aplicación “sabe como sumar 2 números”. El codigo queda como en el siguiente ejemplo:
8. Finalmente podemos ejecutar nuestra prueba unitaria (con la aplicación en ejecución) y veremos como se intercepta la misma y se ejecuta el codigo que hemos definido. En este caso la prueba es correcta :D
Si bien el ejemplo es simpre, creo que la mayor virtud de este tipo de pruebas es que aprovechan todo el entorno y funcionalidades ya incluidas en Visual Studio y su integración es 100% fiable (o eso esperamos para el RTM). En los próximos posts mostraré otras formas de formas de crear pruebas de UI desde Visual Studio 2010.
Saludos @ Home
El Bruno
Crossposting from
ElBruno.com
Archivado en: VSTS,Visual Studio 2010
Comparte este post: