2010-01-12 32 views
36

Estoy buscando una biblioteca que pueda usarse en el código .NET nativo, como cualquier ensamblado .NET. El objetivo de la biblioteca debe ser automatizar Windows (presionar un botón, seleccionar una ventana, enviar claves, grabar & reproducción, ese tipo de cosas).¿Qué es una buena biblioteca de automatización de Windows .NET?

Por lo tanto, se supone que la biblioteca se debe usar de forma nativa en .NET, pero la automatización debe poder apuntar a cualquier aplicación de Windows nativa o .NET que pueda recibir la entrada del usuario.


Sugerencias hasta ahora:

Si no aparece nada más, probablemente elegiré la Automatización de UI de Microsoft y actualizaré cualquier proyecto que lo requiera que aún esté en .NET 2.0 a .NET 3.5, si es posible. Pero espero un marco de automatización más extensamente aplicable (.NET anterior a 2.0 no necesita soporte).

Respuesta

9

¿Has mirado the White framework?

+0

Gracias por su respuesta. Se ve bien y le quita el dolor de usar el Marco de interfaz de usuario de WPF. Sin embargo, tiene los mismos inconvenientes que WPF (cuando se llama desde WinForms, por ejemplo), pero posiblemente sea la mejor solución hasta el momento. – Abel

+0

Si también tiene controles externos, es posible que desee verificar que se puedan automatizar con blanco: en este caso, es posible que desee utilizar este http://www.codeplex.com/UIAutomationVerify. – tobsen

+1

Después de pensarlo un poco, decidí aceptar tu respuesta. No es exactamente lo que quería (me limita usar WPF cuando quiero incluir automatización de interfaz de usuario blanca o MS), pero podría decirse que es la mejor oferta hasta ahora. ¡Gracias! – Abel

8

Microsoft del propio construido en dos está bien

http://msdn.microsoft.com/en-us/library/ms747327.aspx

no se limita a WPF como algunos parecen pensar.

+0

No tenía conocimiento de este nuevo desarrollo. Seguramente interesante, pero me encierra en WPF. Teniendo en cuenta que casi solo desarrollo .NET 3.5+ (cuando hago proyectos .NET), eso no debería ser un problema real. – Abel

+0

No creo que esto te encierre en WPF; es la biblioteca de automatización de UI estándar de Windows, y ahora funciona con WPF. MS Active Accessibility es su mejor opción si necesita trabajar en un nivel inferior. – JasonTrue

+0

nada que ver con wpf. funciona para todos ui en Windows – pm100

7

He usado AutoIt en el pasado con éxito.

+0

Parece bastante algo que necesito (y me suena a campana, también). Tx – Abel

+0

¡Sume a eso! :) Sí, yo diría que revise AutoItX, que es una forma de utilizar la funcionalidad AutoIt desde una DLL. –

+0

Como realmente pedí una .NET lib: no lo hago. ver cómo se puede usar desde .NET. ¿Puedes mostrar un ejemplo o señalar uno cómo se puede invocar desde .NET? – Abel

1

he utilizado WebAii from ArtOfTest con un buen grado de éxito en la automatización de pruebas de integración para una aplicación de Silverlight. También es compatible con WinForms y aplicaciones web.

Microsoft UI Automation, el sucesor de Active Accessibility, puede hacer casi toda la automatización de UI de Windows que necesite.

+0

Corrígeme si estoy equivocado, pero no es ese navegador- ¿automatización? Realmente estoy buscando la automatización de Windows.Interesante de mantener, aunque para otros tipos de proyectos :) – Abel

+0

Tienes razón, sin duda está más centrado en ese dominio, pero también expone los controles de Win32. La Automatización de UI de Microsoft funciona para la mayoría de la automatización que no tiene que interactuar con los navegadores. http://en.wikipedia.org/wiki/Microsoft_UI_Automation – JasonTrue

2

This library es bastante interesante y es bastante simple. Tal vez te ayude.

+0

¡Eso es definitivamente interesante! En realidad, no es una lib de automatización per se, pero seguramente es utilizable y hasta esa tarea parece. Lo echaré un vistazo más profundo. – Abel

1

Qué tal CSharpScript, aquí hay un article al respecto en Codeproject, y aquí está el link al sitio web principal. Además, es familiar C#, con guión, que se puede usar para automatizar cualquier cosa.

Espero que esto ayude, Saludos cordiales, Tom.

+0

Parece un proyecto prometedor que tiene sus méritos, pero al ser un lenguaje de scripting, ¿cómo se puede aplicar para la automatización de "cualquier" aplicación de Windows? – Abel

+0

No lo definiría como un lenguaje de scripting per se, el código C# puede usarse como un programa en sí mismo, si piensas en el Windows Scripting Host, o incluso en AutoIt, incluso usas p/invoke en el código, esa es la flexibilidad de eso. – t0mm13b

2

Si usted no ha visto todavía, y una biblioteca comercial es aceptable, debes revisar Ranorex:

http://www.ranorex.com/

que utilizan Ranorex 1.5 un poco para escribir pequeños C# automatización de la interfaz de usuario de servicios públicos. ¡Fue bastante efectivo! El desarrollo parecía más rápido en comparación con el uso de la API de automatización de MS UI directamente, ya que Ranorex tiene muchos métodos útiles de conveniencia que ya están disponibles.

No he usado Ranorex 2 mucho, sin embargo.

En Ranorex 1.5, también hubo soporte para el desarrollo tradicional de Win32 en C++, pero no lo usé. Por lo que yo sé, eso todavía está disponible en Ranorex 2.

No puedo hablar de la calidad del soporte de grabación/reproducción en Ranorex ya que nunca utilicé esa función.

Una última ventaja: Su equipo de soporte fue realmente receptivo y útil en cualquier momento que les envié un correo electrónico.

Cuestiones relacionadas