使用System.Windows.Automation和Microsoft.VisualStudio.TestTools.UITesting进行WPF UI测试自动化有什么区别?

ati*_*yar 9 wpf ui-automation coded-ui-tests

使用System.Windows.Automation(通常称为UIA)API和Microsoft.VisualStudio.TestTools.UITesting(在场景后面的Coded UI Test中使用的API)以编程方式实现WPF应用程序的UI测试自动化有什么区别?

是否有任何特定的场景,限制或优点/缺点?

Jak*_*van 6

编码的UI测试是一个包含许多自动化技术的框架.UIA只是其中之一.

UIA是Vista/Windows 7中的新功能,它针对的是富客户端应用程序,编写的UI测试将在您针对WPF和Silverlight编写测试时使用UIA.

Coded UI直接使用UIA的优势在于很多自动重试和UIA如何工作的知识都内置在Coded UI测试中.


Hen*_*ken 5

其实答案就在你的问题里。UIA 用于自动化,而 UITesting 用于...测试。

摘录自 MSDN:

UI 自动化提供对桌面上大多数用户界面 (UI) 元素的编程访问,使屏幕阅读器等辅助技术产品能够向最终用户提供有关 UI 的信息,并通过标准输入以外的方式操作 UI。UI 自动化还允许自动化测试脚本与 UI 交互。

因此,UIA 可用于(但不限于)UITesting。