在Web应用程序上,我注意到Coded UI没有捕获某些类型的控件,就像普通的html控件一样,这会抑制我对这些元素进行数据驱动的能力。
这些控件的一些示例是Telerik Ajax控件和Ideal Forms,它是一个类似于bootstrap的js框架。
导致Coded UI与这些类型控件之间不兼容的原因是什么?除了替换应用程序的控件之外,还有其他工作吗?
答案 0 :(得分:2)
编码的UI使用MSAA(Microsoft Active Accessibility)或UIA(UI Automation)接口访问应用程序。最初提供这些界面是为了允许视障人士使用屏幕阅读器,或者为灵巧问题的人提供其他形式的键盘和鼠标。编码的UI使用这些接口并以与这些程序驱动应用程序相同的方式驱动应用程序。
必须编写应用程序的UI控件以支持MSAA或UIA。几乎所有最近的Microsoft控件都支持这些接口,因此在较旧的接口(如MFC和Win32)中支持有限。除非实现MSAA或UIA接口,否则不支持自定义控件。某些第三方自定义控件不支持这些接口。检查他们的支持页面,看看不同版本支持的Coded UI支持的级别。
许多第三个控件的最新版本支持Coded UI。
答案 1 :(得分:2)
由于之前的答案已经涵盖了原因,我将专注于“现在是什么?”
我们已经采用各种工作来处理难以理解的控件。
答案 2 :(得分:1)
Microsoft Coded UI最后我不知道支持Telerik控件。编码的UI在许多第三方控件(Telerik,Infragistics等)上无法正常工作。唯一的选择是将控件更改为更原生,或使用不同的自动化测试工具,例如HP Quick Test Professional或Telerik等。