C# WPF中的UI自动化

C# WPF中的UI自动化,c#,wpf,microsoft-ui-automation,C#,Wpf,Microsoft Ui Automation,谁能帮助我如何在WPF中实现UI自动化?我想检查网格的运行情况。您可以尝试: Sikuli是一种自动化和测试图形用户的可视化技术 使用图像(屏幕截图)的界面(GUI)。西库里包括西库里 Script是Jython的可视化脚本API,Sikuli IDE是 用于编写可视化脚本的集成开发环境 截图很容易。Sikuli脚本会自动处理您在屏幕上看到的任何内容 没有内部API支持的屏幕。您可以通过编程方式 控制网页、Windows/Linux/Mac OS X桌面应用程序或 即使是运行在模拟器中的ipho

谁能帮助我如何在WPF中实现UI自动化?我想检查网格的运行情况。

您可以尝试:

Sikuli是一种自动化和测试图形用户的可视化技术 使用图像(屏幕截图)的界面(GUI)。西库里包括西库里 Script是Jython的可视化脚本API,Sikuli IDE是 用于编写可视化脚本的集成开发环境 截图很容易。Sikuli脚本会自动处理您在屏幕上看到的任何内容 没有内部API支持的屏幕。您可以通过编程方式 控制网页、Windows/Linux/Mac OS X桌面应用程序或 即使是运行在模拟器中的iphone或android应用程序,也可以通过 VNC


使用Visual Studio编码的UI测试中内置的工具:

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


最后,我最常使用第二种方法,因为我喜欢自己编写的代码,而不是录制器功能提供的代码。

以下是一篇很好的博客文章,让您开始了解UI自动化:


它基于Silverlight,但Silverlight与WPF非常接近,所涉及的UI自动化概念完全相同。

如果您只想自动化WPF而不是WinForms,请退出。如果你想要更多的功能,如录音和回放,还有付费版本

支持WPF和WinForms控件自动化的两个开源C#库是:

  • 我用过这个,发现它并不总是可靠的

  • 我用过这个,发现它很好,但需要改进
两者都是开源的,因此它们将向您展示如何使用Microsoft的API,并且您可以修改它们以满足您的需要

我还使用了编码UI测试和Ranorex,但它们都是$$,我不喜欢录制和播放,因为我觉得这是一个维护问题。(虽然QAliber有录音和回放功能,White也有alpha质量的录音机。)


当然,如果你真的想下不了台,你可以直接从微软的API上下载。

据我所知,这没有C绑定。@MerlynMorgan Graham是的,你是对的,但你不需要它:“…Sikuli脚本自动执行屏幕上显示的任何内容,无需内部API支持。您可以通过编程方式控制网页,一个Windows/Linux/Mac OS X桌面应用程序……”我一直有兴趣尝试这个,但从来没有尝试过。不过,如果它工作得很好,它可能会非常有价值,因为它完全与语言无关。链接似乎断开了。@MahbuburRahman-我已经修复了它。