Estoy buscando iniciar pruebas de regresión automatizadas en un complemento de Excel bastante grande que gira en torno a una GUI compuesta de unos pocos UserForms modales con controles estándar.Prueba automatizada de UserForms de VBA: ¿herramientas y/o técnicas?
El principal problema es que la mayoría de las herramientas de test He mirado en (Rational Robot , AutomatedQA TestComplete, Network Automation Automatizar etc) no soportan plenamente la VBA controla por lo que sus pruebas terminan reproducir clics del mouse y presionar teclas, por lo que no son realmente mantenibles. Idealmente, necesito una herramienta de prueba que reconozca los controles de formulario de VBA, por lo que puedo decir "presione este botón y espere a que este cuadro de lista cambie" en lugar de "hacer clic en (237, 58) y esperar 500 milisegundos".
También consideré construir la automatización de prueba en el complemento como VBA, pero la mayor parte del tiempo del usuario se usa interactuando con un cuadro de diálogo modal que detiene el VBA ejecutándose en segundo plano, por lo que está fuera de cuestión.
Mi pregunta-¿Hay alguien aquí tiene alguna experiencia con una herramienta de prueba automatizada que
a) reconoce los controles de formulario de usuario de VBA y pueden interactuar de forma fiable con ellos
b) tiene soporte para scripts de prueba con saltos condicionales y el registro de éxito/fracaso, en lugar de simplemente grabar y reproducir?
Como alternativa, ¿alguien sabe de qué forma puedo evitar el problema de los diálogos modales al pausar la ejecución de VBA para poder conducir el complemento desde dentro de VBA?
He pasado un tiempo mirando foros de control de calidad pero no he encontrado nada allí, por lo que cualquier ayuda o pistas serían apreciadas.
Gracias por su ayuda,
-Martin
Eso no es una mala idea. Me gustaría mantener los cambios arquitectónicos mínimos, y sería una gran cantidad de codificación, pero elimina mucho el dolor de lidiar con la GUI. Estamos explorando alternativas, pero tal vez volvamos a esta idea. – MLdeS