提问人:John 提问时间:8/25/2008 最后编辑:John 更新时间:8/23/2023 访问量:40263
有没有办法自动执行 Windows 窗体测试?
Is there any way to automate windows forms testing?
问:
我熟悉用于业务层单元测试的 nunit,但是我现在希望自动测试 win forms gui 层。
我已经看到 watin 和 watin 记录器通过访问控件并自动化它们来自动执行 Web 应用程序上的测试。但是,我正在努力寻找 Windows 表单(用 c# 或 vb.net 编写)的 watin 等效项,最好是开源的。
是否存在或所有产品都基于录制鼠标和键盘按下?
更新:我看过这篇白色的博文,它似乎是我正在寻找的那种东西。这篇博文提出了一些问题,但由于白色仅在 0.6 版本中出现,这些问题可能会得到解决。如果其他人使用白色或任何其他人进行比较,请感兴趣。
答:
AutomatedQA 的 TestComplete 是一个很好的测试应用程序,用于自动化 GUI 测试。它不仅支持 Windows 窗体,还支持其他应用程序,因此您可以将其重用于其他应用程序。它不是开源的,这是我发现的最好的。我还没有看到与 WatiN 等效的开源。它确实有免费试用版,由您决定是否喜欢它。我选择它的主要原因是,与其他测试应用程序相比,它确实具有成本效益。
查看 http://www.codeplex.com/white 和 http://nunitforms.sourceforge.net/。我们已经成功地使用了 White 项目。
与上一个问题的答案相同
编辑
White 项目已经移动,现在作为 TestStack 的一部分位于 GitHub 上。
评论
您可以查看 Microsoft UI 自动化框架。自 3.0 版起,这已包含在 .NET 中。这实际上是 White 框架使用的。
据我所知,White 是 Microsoft UI 自动化框架之上的抽象层。我已经编写了一个类似的层,我们在项目内部使用,效果很好。所以怀特绝对值得一看
Microsoft 已将源代码发布到 UI 自动化,因此,如有必要,您应该能够调试整个堆栈。
真正酷的是,通过许可成本,您可以扩展并运行任意数量的机器以进行执行。
我们在 VSTS 中运行,并将结果链接到要求,但你可以使用 c# express 和 nUnit,只需很少或免费即可获得一流的工具和语言。
以下是 MSDN 杂志中有关自动测试代码的一些链接:
- 使用 UIAutomation Bugslayer 2007 年 3 月
- 使用 PowerShell 测试运行,2007 年 12 月
- Tester,一个用于记录鼠标点击和击键的实用程序,然后播放它们和程序检查行为。非常适合非托管代码。使用窗口句柄,因此可能无法很好地用于托管代码。虫子杀手2002年3月。
作为新的替代方案,我可以为您提供 FlaUI (https://github.com/Roemer/FlaUI)。它基本上是对白色的完全重写,具有更多功能和干净的代码库。
名单
请在以下位置查看更新的列表:自动化测试列表(TDD/BDD/ATDD/SBE) .NET 工具和框架:用户界面测试
图书馆 | 评论 |
---|---|
阿普蒂姆 | 支持测试通用 Windows 平台 (UWP) 和经典 Windows (Win32) 应用程序 |
编码的 UI | 停止 |
FlaUI的 | Windows 应用程序(Win32、WinForms、WPF、应用商店应用)的自动 UI 测试 |
NUnitForms的 | 停止 |
拉诺雷克斯 | 桌面、Web 和移动应用程序的 GUI 测试 |
审议 | F# 和 C# 库,用于通过随机选择可用状态和有效转换来测试状态机。专为 UI 测试而设计。 |
Squish GUI 测试器 | 各种跨平台桌面、移动、嵌入式和 Web 应用程序 |
测试完成 | “使用易于使用的 GUI 测试自动化工具,在不牺牲速度或敏捷性的情况下确保应用程序的质量。我们由 AI 驱动的对象识别引擎和脚本或无脚本的灵活性无与伦比,让您可以轻松测试每个桌面、Web 和移动应用程序。 |
TestStack.白色 | 停止 |
WinApp驱动程序 | - Windows 应用程序驱动程序 - 在 Windows 应用程序上支持类似 Selenium 的 UI 测试自动化的服务 - 支持在 Windows 10 电脑上测试通用 Windows 平台 (UWP)、Windows 窗体 (WinForms)、Windows Presentation Foundation (WPF) 和经典 Windows (Win32) 应用程序 |
Microsoft 的建议
WinApp驱动程序
Microsoft 建议使用 WinAppDriver:
Windows 应用程序驱动程序 (WinAppDriver) 是一项支持 Windows 应用程序上类似 Selenium 的 UI 测试自动化。这项服务 支持测试通用 Windows 平台 (UWP)、Windows 窗体 (WinForms)、Windows Presentation Foundation (WPF) 和经典 Windows Windows 10 电脑上的 (Win32) 应用。
编码的 UI (Visual Studio ≤ 2019)
以前,建议将编码的 UI(Visual Studio 内置功能和 UI 自动化的一部分)用于应用程序 UI 测试(现已弃用):
用于自动化 UI 驱动功能测试的编码 UI 测试是 荒废的。Visual Studio 2019 是编码的 UI 测试的最后一个版本 将可用。我们建议使用 Selenium 来测试 Web 应用程序 以及带有 WinAppDriver 的 Appium,用于测试桌面和 UWP 应用。 请考虑使用 Xamarin.UITest 测试 iOS 和 Android 应用 NUnit 测试框架。
通过其用户界面驱动应用程序的自动化测试 (UI) 称为编码的 UI 测试 (CUIT)。这些检查包括 UI 控件的功能测试。它们允许您验证 整个应用程序(包括其用户界面)正在运行 正确。编码的 UI 测试在以下情况下特别有用 用户界面中的验证或其他逻辑,例如在 Web 中 页。它们也经常用于自动化现有手册 测试。
更多信息请访问:https://learn.microsoft.com/en-us/visualstudio/test/use-ui-automation-to-test-your-code
评论
WinAppDriver 是一种类似 Selenium 的 UI 测试自动化服务,用于测试 Windows 应用程序,包括 Windows 窗体应用程序。它可以与测试自动化框架 Appium 一起使用。
您还可以使用 Winium(https://github.com/2gis/Winium),它适用于除 Windows 10 之外的多个 Windows 平台,并且类似于 Selenium,具有支持远程控制应用程序的额外功能。
上一个:过滤掉字符串中的锚标记
下一个:C 中枚举中的保留关键字#
评论