谁能帮助我如何在 WPF 中进行 UI 自动化?我想检查网格的操作。
4 回答
如果您只想自动化 WPF 而不是 WinForms,请查看Telerik 的免费框架。如果您想要更多功能,如录制和播放,还有一个付费版本。
支持 WPF 和 WinForms 控件自动化的两个开源 C# 库是:
- 我用过这个,发现它并不总是可靠的。
- 我用过这个,发现它很好,但需要工作。
两者都是开源的,因此它们将向您展示如何使用 Microsoft 的 API,您可以修改它们以满足您的需求。
我也使用了 Coded UI Test 和 Ranorex,但它们都是 $$,而且我不关心记录和播放,因为我觉得这是一个维护问题。(尽管 QAliber 确实具有记录和播放功能,而 White 也具有 alpha 质量的记录器。)
当然,如果您真的想低调而肮脏,您总是可以直接从 Microsoft 的 API 中获取它。
使用 Visual Studio 内置的工具 - 编码的 UI 测试:
http://msdn.microsoft.com/en-us/library/dd286681.aspx
有两种方法可以做到这一点:记录和生成代码(往往是一个很好的起点,但通常不会为您提供可重现的测试),以及通过 UI 对象树手动对其进行编码。
我最常选择第二个选项,因为我更喜欢我编写的代码,而不是记录器功能提供的代码。
您可以尝试PROJECT SIKULI:
Sikuli 是一种使用图像(屏幕截图)自动化和测试图形用户界面 (GUI) 的视觉技术。Sikuli 包括 Sikuli Script(Jython 的可视化脚本 API)和 Sikuli IDE(用于轻松编写带有屏幕截图的可视化脚本的集成开发环境)。Sikuli 脚本可以自动执行您在屏幕上看到的任何内容,而无需内部 API 的支持。您可以通过编程方式控制网页、Windows/Linux/Mac OS X 桌面应用程序,甚至是在模拟器中或通过 VNC 运行的 iphone 或 android 应用程序。
这是一篇很好的博客文章,可帮助您开始 UI 自动化:
使用 Prism 4.0 进行 Silverlight UI 自动化测试
它是基于 Silverlight 的,但 Silverlight 非常接近 WPF,所涉及的 UI 自动化概念完全相同。