使用UI Automation實現自動化測試 --工具使用


當前項目進行三個多月了,好久也沒有寫日志了;空下點時間,補寫下N久沒寫的日志

介紹下兩個工具

我本人正常使用的UISpy.exe工具和inspect.exe工具

這是UISPY工具使用的圖,正常使用到的幾個屬性

這里重點說一下微軟件的UI Automation中的重要類型是AutomationElement

 

圖上的文本元素可通過AutomationElement,上級類型來獲取子節點中的窗體或控件 ,也可以根據類型獲取

如圖所示:我們通過UIspy工具找到相應的控件名稱,就可以用以下語法和屬性獲取到窗體或控件

            AutomationElement ControlTypeComboBox = grdClassBook.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.ComboBox));
            AutomationElement cellElement = ControlTypeComboBox.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.AutomationIdProperty, "ListBox"));

在UI Automation中有如下幾個重要屬性:

  1. AutomationIdProperty: 通過AutomationId來查找AutomationElement。
  2. NameProperty:通過控件的Name屬性來查找AutomationElement。
  3. ControlType:通過控件的類型來查找AutomationElement
  4. AutomationId: 唯一地標識自動化元素,將其與同級相區分。
  5. Name:  WPF 按鈕的Content 屬性、Win32 按鈕的Caption 屬性以及 HTML 圖像的ALT 屬性都映射到 UI 自動化視圖中的同一個屬性Name

說明 :

AutomationElement 是微軟指定的類型 
PropertyCondition類是用來對相關屬性進行條件匹配,在控件樹中查找控件時,可以通過最佳匹配來找到相應的控件。

 

 

有時UISPY工具有的地方獲取不到窗體或控件元素

所以我有時會用inspect.exe工具;自己設置下屬性,跟隨鼠標,也能把控件元素指定出來

如圖:

也能找到相應的元素屬性,我比較推薦這個工具,因為這個工具是深度獲取元素,本人在win7下面感覺這個工具比UISPY工具要快得多。

比較簡單的抓圖解釋。。。自己日志記錄,如有不同意見的歡迎拍磚。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM