在Web應用程序上,我注意到Coded UI沒有像普通的html控件一樣捕獲某些類型的控件,這抑制了我對數據驅動這些元素的能力。爲什麼編碼的用戶界面不能識別某些控件?
這些控件的一些示例是Telerik Ajax控件,也是理想形式,這是一個類似於引導程序的js框架。
導致Coded UI和這些類型控件之間不兼容的原因是什麼?除了替換應用程序的控件之外,是否有任何解決方法?
在Web應用程序上,我注意到Coded UI沒有像普通的html控件一樣捕獲某些類型的控件,這抑制了我對數據驅動這些元素的能力。爲什麼編碼的用戶界面不能識別某些控件?
這些控件的一些示例是Telerik Ajax控件,也是理想形式,這是一個類似於引導程序的js框架。
導致Coded UI和這些類型控件之間不兼容的原因是什麼?除了替換應用程序的控件之外,是否有任何解決方法?
編碼的用戶界面使用MSAA(Microsoft Active Accessibility)或UIA( UI自動化)接口。這些接口最初提供的功能是允許視力受損人士使用屏幕閱讀程序,或者爲敏捷問題的人提供其他形式的鍵盤和鼠標。編碼UI使用這些接口並以與這些程序驅動應用程序相同的方式驅動應用程序。
應用程序的UI控件必須寫入以支持MSAA或UIA。幾乎所有最近的Microsoft控件都支持這些接口,但在較早的接口(如MFC和Win32)中支持有限。除非實施MSAA或UIA接口,否則不支持自定義控件。某些第三方自定義控件不支持這些接口。檢查他們的支持頁面,並查看不同版本支持的編碼UI支持的級別。
許多第三個控件的最新版本確實支持編碼UI。
微軟編寫的用戶界面不支持最後我知道的Telerik控件。編碼的UI在許多第三方控件(Telerik,Infragistics等)上無法正常工作。唯一的選擇是將控件更改爲更原生的,或使用其他自動化測試工具,如HP Quick Test Professional或Telerik等。
由於前面的答案已經涵蓋了原因,我將專注於「現在怎麼樣?」
我們採用了各種解決方案來處理難以控制的控件。
@hirosht編輯擴展縮寫是好的,但是當你做一個編輯時,請使編輯註釋正確。你的編輯沒有「改進格式」。 – AdrianHHH
當然,我會在下一次。當我正在尋求問題的答案時,你的答案實際上讓我學習了這兩個縮寫。 – hirosht