什么是一个好的,如果有的话,.NET Windows自动化库?

我正在寻找一个可以在本地.NET代码中使用的库,就像任何.NET程序集一样。 库的目的必须是使Windows自动化(按下button,select窗口,发送按键,录制和回放等等)。

所以:图书馆本来应该在.NET中使用,但是自动化本身必须能够定位任何可以接收用户input的本机或.NET Windows应用程序。


迄今为止的build议:

  • benPearcebuild议AutoIt 。 它有一个DLL,它是本地的Win32,但不是本地.NET,不能使用.NET Interop。
  • Chris Dunawaybuild议全球鼠标键盘库 。 这是最接近的,但不是一个自动化库。 它只是帮助设置键盘和鼠标钩子。
  • pm100build议微软的WPF UI自动化 。 这一个是相当不错的,虽然它不是可用的,如果你在.NET 2.0中开发,它需要在系统上安装WPF。 但是,它可以在浏览器中自动执行从Win32应用程序到HTML的所有function。
  • JasonTrue从ArtOfTestbuild议WebAI 。 这是一个主要面向浏览器和Web应用程序的testing框架。 不幸的是,它不适合用于Windows自动化。

如果没有其他可用的东西,我可能会select微软的UI自动化,如果可能的话,升级任何需要.NET 2.0到.NET 3.5的项目。 但我希望有一个更广泛适用的自动化框架(2.0以前的.NET不需要支持)。

你看过白色框架吗?

微软自己内置的一个是好的

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

不像有些人似乎认为的那样只限于wpf。

我以前用AutoIt成功了。

这个库很有趣,相当简单。 也许它会帮助你。

如果你还没有看到它,而商业图书馆是可以接受的,你可以看看Ranorex:

http://www.ranorex.com/

我使用Ranorex 1.5编写小型C#UI自动化实用程序。 这非常有效! 与直接使用MS UI Automation API相比,开发看起来更快,因为Ranorex提供了许多有用的便利方法。

尽pipe如此,我还没有使用Ranorex 2。

在Ranorex 1.5中,也支持传统的C ++ Win32开发,但是我没有使用它。 据我所知,Ranorex 2仍然有这个function。

因为我从来没有使用过这个function,所以我不能说Ranorex中录制/回放支持的质量。

最后还有一件事:他们的支持团队在我给他们发送电子邮件时,他们的反应非常迅速而且乐于助人

查看在Windows上进行自动GUItesting的工具

我已经使用ArtOfTest的WebAii ,在Silverlight应用程序的自动集成testing方面取得了相当的成功。 它也支持WinForms和Web应用程序。

微软UI自动化,Active Accessibility的继任者,几乎可以完成你所需要的所有Windows UI自动化。

CSharpScript怎么样,这里是关于Codeproject的一篇文章 ,这里是主要网站的链接 。 此外,它是熟悉的C#,脚本可以用来自动化任何事情。

希望这有助于,最好的问候,汤姆。