Windows GUI自动化

我打算自动化在Microsoft Visual C#中开发的GUI的一些function。

我是GUI自动化新手。 如果您分享有关GUI自动化和一些可用于自动化的工具的经验,会很高兴。

我打算开发一些程序/脚本来实现GUI的一些function

为了自动化Windows操作系统本身,免费的AutoIT使用BASIC类型的语法来实现自动化。 它不是开源的,但是在开源的AutoHotkey上继续开发。 这两个中的任何一个都可以用于Windows GUI自动化,而不需要太多的努力。

我想微软会建议你使用Windows PowerShell ,这是一个支持本地和远程计算机的WMI和COM的任务自动化框架。 Powershell是免费的。 有关执行Windows®UI自动化任务,请参阅本指南。

你用Windows,Shell和Automation标记了这个问题。 尽管AutoHotkey具有社区对C#的支持,而且Powershell是一种.NET脚本/编程语言,但是我没有使用C#提供的这些建议。

我最近做了一个完全相同的话题的研究。 我还没有找到一个理想的工具。 这里是我看的工具:

  • QTP 。 这是最有名的,所以,你可以在网上找到你的问题的答案。 它支持函数库,对象库和各种技术。 在QTP中开发脚本的速度很慢,因为不同的因素。 许可证的成本很大。 使用VBscript(pah!)
  • 编码的UI测试 。 它是Visual Studio 2010 Premium和Ultimate版本的一部分。 也花费$$$。 提供函数库和对象库特征。 你需要一些编程的理解。 使用C#开发测试(VB作为alt)。 Microsoft严格建议使用他们的刻录机来生成测试。 虽然如果你有自动化方面的经验,但是你明白,仅仅使用记录器是不可能的。 所以你需要了解生成的代码的细节。 它会产生大量的代码。 无论如何,这很好。
  • Ruby + AutoIt 。 成本0 $。 我喜欢使用Ruby + Rspec + Watir来自动化Web界面。 非常可定制的,快速的学习,开发和执行。 虽然,不能使Ruby + Rspec和.NET一起工作足够好。 我试图使用AutoIt来访问WindowsForms,但它很难调试和搜索为什么不起作用。
  • Ranorex 。 我没有看太多。 看起来不错,类似QTP的工作,花费$$$。 我没有时间更紧密地使用它,并决定不使用它,因为我不知道在实际自动化过程中会出现什么问题(我已经有了QTP许可证)。

我已经在免费的,开源的白色方面取得了一些成功。 它的支持是有限的,但文档有一个很好的指导部分,所以你很快就会知道这是适合你的。