WPF中的UI自动化

4

有人可以帮我学习如何在WPF中进行UI自动化吗?我想检查网格的操作。

4个回答

2
如果您只想自动化WPF而不是WinForms,请查看Telerik的免费框架。还有一个付费版本,如果您想要更多功能,如记录和播放。
支持自动化WPF和WinForms控件的两个开源C#库是: White
  • 我用过它,发现它并不总是可靠的。
QAliber
  • 我用过它,发现它很好但需要改进。
两者都是开源的,因此它们将向您展示如何使用Microsoft的API,并且您可以修改它们以满足您的需求。
我也用过Coded UI测试和Ranorex,但它们都是$$,而且我不喜欢录制和播放,因为我觉得这是一个维护问题。(尽管QAliber确实有一个录制和播放功能,White也有一个阿尔法质量的记录器。)
当然,如果你真的想深入了解,你可以直接从微软的API中获取它。

1

使用 Visual Studio 内置的工具 - Coded UI Tests:

http://msdn.microsoft.com/en-us/library/dd286681.aspx

有两种方法可以做到这一点:记录和生成代码(往往是一个很好的起点,但通常不能给你可重复的测试),以及通过UI对象树手动编码。

我最常使用第二个选项,因为我喜欢我编写的代码比录制功能提供的更好。


0

你可以尝试使用PROJECT SIKULI

Sikuli是一种使用图像(屏幕截图)自动化和测试图形用户界面(GUI)的视觉技术。Sikuli包括Sikuli Script,一个用于Jython的可视化脚本API,以及Sikuli IDE,一个集成开发环境,可轻松编写带有屏幕截图的可视化脚本。Sikuli Script可以在没有内部API支持的情况下自动化屏幕上看到的任何内容。您可以以编程方式控制网页、Windows/Linux/Mac OS X桌面应用程序,甚至是在模拟器或通过VNC运行的iPhone或Android应用程序。


据我所知,这个没有 C# 绑定。 - Merlyn Morgan-Graham
@MerlynMorgan-Graham 是的,你说得对,但你不需要它:“……Sikuli脚本可以自动化屏幕上看到的任何内容,无需内部API支持。您可以以编程方式控制Web页面、Windows/Linux/Mac OS X桌面应用程序……” - punker76
我一直对尝试这个很感兴趣,但从未实践过。如果它能够良好运作,那么它将非常有价值,因为它完全不受语言限制。 - Chaser324

0

链接似乎已经损坏。 - Mahbubur Rahman
@MahbuburRahman - 我已经修复了。 - Simon Mourier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接