我熟悉nunit用于业务层的单元测试,但我现在正在寻找自动化win form gui层的测试。
我见过watin和watin记录器,可以通过访问控件和自动化来自动化Web应用程序的测试。但是,我很难找到一个与Windows窗体(用c#或vb.net编写)相当的watin,最好是开源的。
是否存在或基于录制鼠标和键盘按键的所有产品?
更新:我看过这个blog post on white,这似乎是我要找的东西。博客文章提出了一些问题,但由于白色仅在版本0.6中,这些可能会得到解决。如果其他人使用白色或任何其他用于比较,请感兴趣。
答案 0 :(得分:24)
结帐http://www.codeplex.com/white和http://nunitforms.sourceforge.net/。我们成功地使用了White项目。
上一个问题的相同答案
修改强>
White项目已经移动,现在作为TestStack的一部分位于GitHub。
答案 1 :(得分:7)
AutomatedQA's TestComplete是一个很好的测试应用程序来自动化GUI测试。它不仅支持Windows窗体,因此您可以将其重用于其他应用程序。它不是开源的,这是我发现的最好的。我还没有看到相当于WatiN的开源。它确实有一个免费试用版,因为你决定是否喜欢它。我采用它的主要原因是,与其他测试应用相比,它确实具有成本效益。
答案 2 :(得分:4)
作为一种新的替代方案,我可以为您提供FlaUI(https://github.com/Roemer/FlaUI)。它基本上是一个完整的白色重写,具有更多的功能和干净的代码库。
答案 3 :(得分:2)
据我所知,White是微软UI Automation框架顶部的抽象层。我编写了一个类似的层,我们在项目内部使用它,效果很好。因此,怀特确实值得一看
Microsoft已经发布了UI自动化的源代码,因此如有必要,您应该能够在整个堆栈中进行调试。
非常酷的是,在许可证成本方面,您可以扩展并运行任意数量的计算机来执行。
我们在VSTS中运行并将我们的结果链接到需求,但是您可以使用c#express和nUnit并获得一流的工具和语言,而且成本很低。
答案 4 :(得分:2)
以下是MSDN Magazine关于自动测试代码的一些链接:
答案 5 :(得分:1)
您可以查看Microsoft UI Automation框架。从版本3.0开始,这已包含在.NET中。这实际上是White框架使用的内容。
答案 6 :(得分:1)
WinAppDriver 是一种类似于 Selenium 的 UI 测试自动化服务,用于测试包括 Windows 窗体应用程序在内的 Windows 应用程序。它可以与测试自动化框架 Appium 一起使用。
答案 7 :(得分:0)
您可以考虑使用Coded UI,Visual Studio内置功能和UI自动化的一部分:
通过其用户界面驱动应用程序的自动化测试 (UI)称为编码的UI测试(CUIT)。这些测试包括 UI控件的功能测试。他们让你验证了 整个应用程序,包括其用户界面,正在运行 正确。编码的UI测试在有的地方特别有用 用户界面中的验证或其他逻辑,例如在web中 页。它们还经常用于自动化现有手册 测试
[...]典型的发展 经验可能是一个,最初,你只是建立你的 应用程序(F5)并单击UI控件以验证 事情正常。然后,您可能决定创建一个编码 测试,这样您就不需要继续测试应用程序了 手动。取决于正在测试的特定功能 您的应用程序,您可以编写功能测试的代码,或 对于可能包含或可能不包括测试的集成测试 UI级别。如果您只是想直接访问某些业务逻辑, 你可以编写单元测试代码。但是,在某些情况下,它 可能有益于包括测试各种UI控件 你的申请。编码的UI测试可以自动化初始化(F5) 方案,验证代码流失不会影响功能 你的申请。
阅读详情:https://docs.microsoft.com/en-us/visualstudio/test/use-ui-automation-to-test-your-code
答案 8 :(得分:0)
您还可以使用 Winium(https://github.com/2gis/Winium),它可以在 Windows 10 之外的多个 Windows 平台上运行,并且与 Selenium 类似,具有支持远程控制应用程序的额外功能。