c# - tag - ¿Hay alguna forma de automatizar las pruebas de Windows Forms?
pruebas unitarias c# mvc (7)
Aquí hay algunos enlaces de MSDN Magazine sobre el código de prueba automático:
- Uso de UIAutomation Bugslayer Marzo de 2007
- Uso de PowerShell Test Run Diciembre de 2007
- Tester, una utilidad para registrar los clics del mouse y las pulsaciones de teclas, y luego reproducirlos y verificar el comportamiento del programa. Excelente para código no administrado. Usa los identificadores de ventanas, por lo que puede que no funcione bien para el código administrado. Bugslayer marzo de 2002.
Estoy familiarizado con nunit para pruebas unitarias de la capa empresarial, pero ahora estoy buscando automatizar la prueba de la capa gui de winforms.
He visto watin y la grabadora watin para automatizar pruebas en la aplicación web accediendo a los controles y automatizándolos. Sin embargo, estoy luchando por encontrar un equivalente de watin para los formularios de Windows (escrito en c # o vb.net), preferentemente, es de código abierto.
¿Existe uno o todos los productos se basan en la grabación de prensas de mouse y teclado?
Actualización: He visto esta publicación de blog en blanco y parece el tipo de cosa que estoy buscando. La publicación del blog plantea algunos problemas, pero como el blanco solo está en la versión 0.6, se pueden resolver. Se interesará si otros han usado blanco o cualquier otro para comparar.
Como una nueva alternativa, puedo darte FlaUI ( https://github.com/Roemer/FlaUI ). Básicamente es una re-escritura completa de blanco con más características y una base de código limpia.
Hasta donde yo sé, http://www.codeplex.com/white es una capa de abstracción sobre el marco de automatización de la interfaz de usuario de Microsoft. He escrito una capa similar que usamos internamente en nuestros proyectos y funciona muy bien. Así que White definitivamente valdría la pena mirar
Microsoft ha lanzado la fuente para la automatización de la interfaz de usuario, por lo que, si es necesario, podrá depurar toda la pila si es necesario.
Lo realmente bueno es que con el costo de licencia, puede escalar y ejecutar tantas máquinas como desee para su ejecución.
Corremos dentro de VSTS y vinculamos nuestros resultados a los requisitos, pero puede usar c # express y nUnit y obtener herramientas e idiomas de primera clase por poco o ningún costo.
Puede consultar el marco de automatización de UI de Microsoft. Esto se ha incluido en .NET desde la versión 3.0. Esto es en realidad lo que el marco blanco usa de todos modos.
Visite http://www.codeplex.com/white y http://nunitforms.sourceforge.net/ . Hemos utilizado el proyecto White con éxito.
La misma respuesta a una pregunta anterior
TestComplete de AutomatedQA es una buena aplicación de prueba para automatizar las pruebas de GUI. También es compatible con más formularios que Windows Forms, por lo que puede reutilizarlo para otras aplicaciones. No es de código abierto y esto es lo mejor que he encontrado. No he visto una fuente abierta equivalente a WatiN. Tiene una versión de prueba gratuita, para que usted decida si le gusta o no. La razón principal por la que lo hice, es que realmente es rentable, en comparación con otras aplicaciones de prueba.
Puede considerar utilizar la interfaz de usuario codificada , una función incorporada de Visual Studio y parte de la automatización de la interfaz de usuario:
Las pruebas automatizadas que conducen su aplicación a través de su interfaz de usuario (UI) se conocen como pruebas de IU codificadas (CUIT) . Estas pruebas incluyen pruebas funcionales de los controles de UI. Le permiten verificar que toda la aplicación, incluida su interfaz de usuario, funcione correctamente. Las pruebas de interfaz de usuario codificadas son particularmente útiles cuando hay validación u otra lógica en la interfaz de usuario, por ejemplo, en una página web. También se utilizan con frecuencia para automatizar una prueba manual existente.
[...] una experiencia de desarrollo típica podría ser aquella en la que, inicialmente, simplemente crea su aplicación (F5) y hace clic en los controles de la interfaz de usuario para verificar que todo esté funcionando correctamente. A continuación, puede decidir crear una prueba codificada para que no tenga que seguir probando la aplicación manualmente. Dependiendo de la funcionalidad particular que se esté probando en su aplicación, puede escribir código para una prueba funcional o para una prueba de integración que puede incluir o no pruebas en el nivel de UI. Si simplemente desea acceder directamente a una lógica comercial, puede codificar una prueba unitaria. Sin embargo, bajo ciertas circunstancias, puede ser beneficioso incluir pruebas de los diversos controles de UI en su aplicación. Una prueba de UI codificada puede automatizar el escenario inicial (F5), verificando que la deserción del código no afecte la funcionalidad de su aplicación.
Obtenga más información en: https://docs.microsoft.com/en-us/visualstudio/test/use-ui-automation-to-test-your-code