有没有什么办法来自动化Windows窗体testing?

我熟悉nunitunit testing的业务层,但是我现在正在寻找自动化的胜利formsgui层的testing。

我已经看到了watin和watinlogging器,通过访问控件并自动化它们来自动化Web应用程序的testing。 然而,我正在努力寻找一个相当于windows窗体(用c#或vb.net编写)的watin相当于开源。

是否存在或是所有基于录制鼠标和键盘的产品?

更新:我已经看过这个白色的博客文章 ,这似乎是我正在寻找的东西。 这个博客文章引发了一些问题,但是由于白色版本只在0.6版本中可以解决。 有兴趣的话,如果其他人使用白色或任何其他比较。

看看http://www.codeplex.com/white和http://nunitforms.sourceforge.net/ 。 我们已经成功地使用了白色项目。

与上一个问题相同的答案

AutomatedQA的TestComplete是一个很好的testing应用程序,用于自动化GUItesting。 它不仅仅支持Windows窗体,所以你可以重用它的其他应用程序。 这不是开源的,这是我find的最好的。 我还没有看到相当于WatiN的开源代码。 它有一个免费的试用版,你决定是否喜欢它。 我和它一起使用的主要原因是,与其他testing应用程序相比,它的确具有成本效益。

作为一个新的select,我可以给你FlaUI( https://github.com/Roemer/FlaUI )。 它基本上是一个完整的白色更多的function和一个干净的代码库。

据我所知, White是微软UI自动化框架之上的一个抽象层。 我写了一个类似的图层,我们在项目内部使用,效果很好。 所以白方会定下来值得一看

微软已经向UI自动化发布了源代码,所以如果有必要的话,你应该能够在整个堆栈debugging。

非常酷的事情是,使用许可证成本,你可以扩大和运行尽可能多的机器,只要你喜欢执行。

我们在VSTS内部运行,并将结果链接到需求,但是您可以使用c#express和nUnit获得一stream的工具和语言,但几乎没有成本。

以下是MSDN杂志关于自动testing代码的一些链接:

  • 使用UIAutomation Bugslayer 2007年3月
  • 使用PowerShell testing运行 2007年12月
  • testing仪,用于录制鼠标点击和击键的工具,然后播放它们并检查程序的行为。 非常适合非托pipe代码。 使用Windows句柄,因此可能无法很好地用于托pipe代码。 Bugslayer 2002年3月。

你可以看看微软的用户界面自动化框架。 自3.0版以来,这已经包含在.NET中。 这实际上是白色的框架使用无论如何。

您可以考虑使用Coded UI ,这是一个Visual Studio内置function,也是UI自动化的一部分:

通过用户界面(UI)驱动应用程序的自动化testing称为编码UItesting(CUIT) 。 这些testing包括UI控件的functiontesting。 他们让您validation整个应用程序(包括其用户界面)是否正常运行。 编码的UItesting在用户界面中有validation或其他逻辑的情况下特别有用,例如在网页中。 他们也经常用于自动化现有的手动testing。

一个典型的开发经验可能是最初只需构build应用程序(F5)并单击UI控件来validation事情是否正常工作。 然后您可以决定创build一个编码testing,以便您不需要手动继续testing应用程序。 根据应用程序中正在testing的特定function,您可以编写用于functiontesting的代码,也可以编写可能包含或可能不包含UI级别testing的集成testing代码。 如果您只是想直接访问某些业务逻辑,则可以编写一个unit testing。 但是,在某些情况下,在应用程序中包含对各种UI控件的testing可能会有所帮助。 编码的UItesting可以自动执行初始(F5)场景,validation代码stream失不会影响应用程序的function。

阅读更多: https : //docs.microsoft.com/en-us/visualstudio/test/use-ui-automation-to-test-your-code