繁体   English   中英

有什么方法可以自动进行 Windows 窗体测试?

[英]Is there any way to automate windows forms testing?

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

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

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

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

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

上一个问题的相同答案

编辑

White 项目已经移动,现在作为 TestStack 的一部分位于GitHub 上

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

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

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

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

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

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

Microsoft 建议使用WinAppDriver

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


以前,建议将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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM