2008-08-24 179 views
45

我对业务层单元测试的nunit很熟悉,但是现在我正在寻找自动化赢取窗体gui层的测试。有什么办法可以自动化Windows窗体测试吗?

我看过watin和watin录像机,通过访问控件并自动化它们来自动测试Web应用程序。然而,我正在努力寻找一个相当于Windows窗体(用c#或vb.net编写)的watin等效物,最好是开源的。

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

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

回答

7

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

0

你可以检查出微软UI Automation框架。自3.0版以来,这已包含在.NET中。这实际上是白色框架无论如何使用。

2

就我所知,White是微软UI Automation框架顶层的抽象层。我写了一个类似的图层,我们在项目内部使用它,并且效果很好。因此,白色将确定值得一看

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

真的很酷的事情是,使用许可证成本,您可以扩展并运行尽可能多的机器,以便执行。

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

2

下面是从MSDN杂志上的自动测试代码一些链接:

  • 使用UIAutomation Bugslayer 2007年3月
  • 使用PowerShell Test Run 2007年12月
  • 测试仪,一个实用程序,用于记录鼠标点击和按键,然后玩他们回&程序检查行为。非常适合非托管代码。使用Windows句柄,因此可能无法很好地用于托管代码。 Bugslayer 2002年3月。
0

您可以考虑使用Coded UI,一个Visual Studio内置功能和UI自动化的一部分:

自动化测试,通过其用户界面 (UI)驱动应用程序被称为编码的UI测试(CUITs)。这些测试包括UI控件的功能测试 。他们让您验证整个应用程序(包括其用户界面)是否正常运行 。如果在用户界面中有 验证或其他逻辑,例如在网页 页面中,编码的UI测试特别有用。它们也经常用于使现有的手册 测试自动化。

[...]一个典型的开发 的经验可能是一个地方,一开始,你只需建立自己的应用程序 (F5),并通过点击UI控件来验证 事情都正常工作。然后,您可能会决定创建一个编码为 的测试,以便您不需要手动继续测试应用程序 。根据在您的应用程序中测试的特定功能,您可以编写代码进行功能测试,也可以编写代码进行集成测试,该测试可能包含或不包括在 UI级别的测试。如果您只是想直接访问某些业务逻辑,您可能需要编写单元测试。但是,在某些情况下, 可能会对您的应用程序中的各种UI控件的测试带来益处。编码的UI测试可以自动执行初始(F5) 方案,验证代码流失不会影响应用程序的功能 。

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

相关问题