有没有办法自动化Windows窗体测试?

时间:2020-03-05 18:42:39  来源:igfitidea点击:

我对用于业务层的单元测试的nunit很熟悉,但是现在我正在寻找自动化win表单gui层的测试的方法。

我已经看到过watin和watin记录器通过访问控件并使它们自动化来对Web应用程序进行自动化测试。但是,我一直在努力寻找适合Windows形式(用cor vb.net编写)的watin替代品,最好是开源的。

是否存在或者全部基于录制鼠标和键盘按键的产品?

更新:我已经看过这篇白色的博客文章,这似乎是我想要的东西。该博客文章提出了一些问题,但是由于白色仅在0.6版中,这些问题可以解决。如果其他人使用白色或者其他任何东西进行比较感兴趣。

解决方案

回答

AutomatedQA的TestComplete是一个很好的测试应用程序,可以自动进行GUI测试。它不仅支持Windows窗体,而且还可以将其重新用于其他应用程序。它不是开源的,这是我发现的最好的。我还没有看到与WatiN相当的开源软件。它有一个免费试用版,供我们决定是否喜欢它。我使用它的主要原因是,与其他测试应用程序相比,它确实具有成本效益。

回答

请访问http://www.codeplex.com/white和http://nunitforms.sourceforge.net/。我们成功地使用了White项目。

对上一个问题的相同答案

回答

我们可以签出Microsoft UI自动化框架。自3.0版以来,它已包含在.NET中。无论如何,这实际上是White框架使用的。

回答

据我所知,White是Microsoft UI Automation框架之上的抽象层。我已经写了一个类似的层,可以在项目内部使用,并且效果很好。所以怀特·德芬纳特利值得一看

Microsoft已将源代码发布到UI自动化,因此,如果有必要,我们应该可以在整个堆栈中进行调试。

真正很酷的事情是,凭借许可证成本,我们可以扩展并运行任意数量的计算机来执行。

我们在VSTS内部运行,并将结果链接到需求,但是我们可以使用cexpress和nUnit并以极少甚至没有成本的方式获得一流的工具和语言。

回答

这是MSDN Magazine上有关自动测试代码的一些链接:

  • 使用UIAutomation Bugslayer 2007年3月
  • 使用PowerShell测试运行2007年12月
  • Tester,一种用于记录鼠标单击和击键,然后进行回放和程序检查行为的实用程序。非常适合非托管代码。使用Windows句柄,因此可能不适用于托管代码。 Bugslayer,2002年3月。