54

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

我已经看到了watin和 watin 记录器,用于通过访问控件并自动化它们来自动化 Web 应用程序的测试。但是,我正在努力为 Windows 窗体(用 c# 或 vb.net 编写)找到一个等效的 watin,最好是开源的。

是否存在一种或所有产品都基于记录鼠标和键盘按下?

更新:我看过这篇关于白色的博客文章,这似乎是我正在寻找的东西。博客文章提出了一些问题,但由于白色仅在 0.6 版中,这些问题可能会得到解决。如果其他人使用白色或任何其他进行比较,请感兴趣。

4

9 回答 9

28

查看http://www.codeplex.com/whitehttp://nunitforms.sourceforge.net/。我们成功地使用了 White 项目。

上一个问题的相同答案

编辑

White 项目已搬迁,现在作为 TestStack 的一部分位于GitHub 上。

于 2008-08-24T21:15:25.483 回答
7

AutomatedQA 的 TestComplete是一个很好的自动化 GUI 测试的测试应用程序。它不仅支持 Windows 窗体,还支持其他应用程序。它不是开源的,这是我发现的最好的。我还没有看到与 WatiN 等效的开源软件。它确实有免费试用版,由您决定是否喜欢。我选择它的主要原因是,与其他测试应用程序相比,它确实具有成本效益。

于 2008-08-24T21:12:55.100 回答
7

作为一个新的选择,我可以给你 FlaUI ( https://github.com/Roemer/FlaUI )。它基本上是对白色的完全重写,具有更多功能和干净的代码库。

于 2017-03-11T21:31:39.080 回答
2

据我所知,White是微软UI 自动化框架之上的一个抽象层。我写了一个类似的层,我们在项目内部使用它,它工作得很好。所以怀特绝对值得一看

Microsoft 已经发布了 UI 自动化的源代码,因此如有必要,您应该能够在必要时直接调试整个堆栈。

真正酷的是,通过许可成本,您可以扩展并运行任意数量的机器来执行。

我们在 VSTS 中运行并将我们的结果链接到需求,但您可以使用 c# express 和 nUnit 并以很少甚至免费的成本获得一流的工具和语言。

于 2008-12-26T06:18:15.263 回答
2

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

  • 使用UIAutomation Bugslayer 2007 年 3 月
  • 使用 PowerShell测试运行2007 年 12 月
  • 测试器,用于记录鼠标点击和击键,然后回放它们和程序检查行为的实用程序。非常适合非托管代码。使用 Windows 句柄,因此可能不适用于托管代码。 虫虫杀手2002 年 3 月。
于 2009-03-08T07:14:01.440 回答
2

名单

请查看更新列表:.NET 的自动化测试 (TDD/BDD/ATDD/SBE) 工具和框架列表:用户界面测试

微软推荐什么

WinAppDriver

Microsoft 建议使用WinAppDriver

Windows 应用程序驱动程序 (WinAppDriver) 是一项服务,用于在 Windows 应用程序上支持类似 Selenium 的 UI 测试自动化。此服务支持在 Windows 10 电脑上测试通用 Windows 平台 (UWP)、Windows 窗体 (WinForms)、Windows Presentation Foundation (WPF) 和经典 Windows (Win32) 应用。

编码的 UI(Visual Studio ≤ 2019)

以前,Coded UI是 Visual Studio 内置功能和 UI 自动化的一部分,被推荐用于应用程序 UI 测试(现在已弃用):

已弃用用于自动化 UI 驱动功能测试的编码 UI 测试。Visual Studio 2019 是最后一个提供编码 UI 测试的版本。我们建议使用 Selenium 测试 Web 应用程序,使用 Appium 和 WinAppDriver 测试桌面和 UWP 应用程序。考虑使用 Xamarin.UITest 使用 NUnit 测试框架测试 iOS 和 Android 应用程序。

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

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

于 2017-03-31T00:50:06.593 回答
2

WinAppDriver是一个类似于 Selenium 的 UI 测试自动化服务,用于测试 Windows 应用程序,包括 Windows 窗体应用程序。它可以与测试自动化框架Appium一起使用。

于 2021-02-11T19:51:11.877 回答
1

您可以查看 Microsoft UI 自动化框架。从 3.0 版开始,这已包含在 .NET 中。无论如何,这实际上是 White 框架使用的。

于 2008-10-14T13:06:00.890 回答
0

您还可以使用 Winium ( https://github.com/2gis/Winium ),它可以在除 Windows 10 之外的多个 Windows 平台上运行,并且类似于 Selenium,具有支持远程控制应用程序的额外功能。

于 2021-02-23T13:18:58.260 回答