有没有办法自动化Windows窗体测试?
我对用于业务层的单元测试的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月。