Pregunta

Nuestra empresa actualmente está escribiendo una interfaz gráfica de usuario de automatización de la herramienta de pruebas para compact framework de aplicaciones.Que inicialmente hemos buscado muchas herramientas, pero ninguno de ellos era el adecuado para nosotros.

Mediante el uso de la herramienta puede grabar prueba de casos y el grupo de ellos juntos para probar-suites.Para cada paquete de prueba no se genera una solicitud, la cual se inicia la aplicación bajo prueba y simula la entrada de usuario.

En general, la herramienta funciona bien, pero como estamos usando los identificadores de ventana para la simulación de entrada de usuario, usted no puede hacer muchas cosas.Por ejemplo, es imposible para nosotros para conseguir el nombre de un control (nos acaba de obtener el título).

Otro problema sobre el uso de identificadores de ventana es la comprobación de un cambio.En el momento en que se simula un clic en un control y dependiendo del resultado sabemos si la aplicación ha pasado a la siguiente etapa.

¿Hay algún otro (más sencillo) manera de hacer las cosas (por ejemplo la cola de mensajes o cualquier otra cosa)?

¿Fue útil?

Solución

Si el sistema Automatizado de GUI de la herramienta de pruebas tiene conocimiento sobre el marco de la aplicación está escrita en ella podrían utilizar esa información para hacer mejor o más avanzado de secuencias de comandos. TestComplete por ejemplo sabe acerca de Borland VCL y WinForms.Si la prueba de construir aplicaciones con Windows Presentation Foundation ha avanzado soporte para este construir en.

Otros consejos

Problema interesante!No he hecho ninguna de bajo nivel (creo Win32) de programación de Windows en un tiempo, pero aquí es lo que yo haría.

El uso de una tubería con nombre y tiene su aplicación escucharlo.El uso de esta canalización como un medio de comunicación, de implementar un verdadero protocolo simple mediante el cual usted puede consultar la aplicación para el nombre de un control, dada su HWND, u otras cosas que usted encuentra útiles.Asegúrese de que el protocolo es lo suficientemente rico como para que no es suficiente la información que se intercambia entre la aplicación y el framework de pruebas.Asegúrese de que el framework de pruebas no rinde demasiado "especial" comportamiento de la aplicación, porque entonces no sería prueba de las características, sino que su marco de pruebas.

Hay probablemente la forma más elegante y fresco formas de implementar esto, pero esto es lo que recuerdo de la parte superior de mi cabeza, con sólo simples llamadas a la API Win32.

Otro enfoque, que se han implementado para nuestro producto en el trabajo, es el registro de eventos de usuario, tales como los clics del mouse y la tecla de eventos en una secuencia de eventos.Este debe ser lo suficientemente ricos, de modo que usted puede tener la aplicación de reproducir artificialmente la inyección de esos eventos en la cola de mensajes, y tienen que comportarse de la misma manera que lo hizo cuando se registró por primera vez la secuencia de comandos.Básicamente simular el usuario al reproducir la secuencia de comandos.

Además de eso, usted puede grabar cualquier estado importantes (documentos, las preferencias, los controles de GUI jerarquía, etc.), una vez al grabar la secuencia de comandos, y una vez al reproducirlo.Esto le da dos conjuntos de datos, usted puede comparar, para asegurarse de que, por ejemplo, que todo se mantiene igual.Esta solución le da pruebas de que no es fácil de modificar (tienes que volver a grabar si sus cambios en la interfaz), pero que proporcionan impresionante pruebas de regresión.

(EDICIÓN:Esta es también una excelente QA herramienta durante las pruebas beta, por ejemplo:acaba de tener a sus usuarios grabar sus acciones, y si hay un accidente, usted tiene una buena oportunidad de facilidad de reproducir el problema al reproducir la secuencia de comandos)

Buena suerte!

Carl

uso NUnitForms.He utilizado con gran éxito para un solo y multi threading, apps y usted no tiene que preocuparse acerca de los identificadores y cosas por el estilo

Aquí hay algunos posts sobre NUnitForms vale la pena leer

NUnitForms y error DragDrop registro - problema de la MTA vs STA

Aplicación compilada exe GUI pruebas con NUnitForms

Finalmente encontré una solución para la comunicación entre las pruebas de la aplicación y la aplicación bajo prueba: Administrado Espía.Se trata básicamente de una .NETO de la aplicación a construir en la parte superior de ManagedSpyLib.

ManagedSpyLib permite el acceso mediante programación a los controles de Formularios Windows forms de otro proceso.Para ello utiliza Ganchos de la Ventana y de la memoria de archivos de asignación.

Gracias por todos los que me ayudaron a llegar a esta solución.

Administrado Espía no proporciona una solución para compact framework de aplicaciones.

La empresa Jamo Soluciones (www.jamosolutions.com) cumple con los requisitos para la automatización de pruebas en dispositivos móviles, incluyendo .net compact framework de aplicaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top