我已經開始使用最近的編碼UI測試來自動化我的Windows應用程序,並在訪問某些MSAA控件時遇到問題。 我手動編碼我的自動化,不想將控件添加到UI地圖,然後使用它。無法識別MSAA控件
我卡住的控件是左側窗格中的一個treeItem,它選擇機器和細節顯示在中間的客戶區左側。
我試圖搜索控制使用十字準線顯示到UI控件上的屬性,但徒勞無功。
以下是我已經嘗試了代碼 -
UITestControl machine = new UITestControl(App);
machine.TechnologyName = "MSAA";
machine.SearchProperties.Add(WinTreeItem.PropertyNames.ControlType, "TreeItem");
machine.SearchProperties.Add(WinTreeItem.PropertyNames.Name, "Machine1");
machine.SearchProperties.Add(WinTreeItem.PropertyNames.ControlName, "m_tvPlantStructureView");
Mouse.Click(machine); // This code gives an error
ERROR-
Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException: 播放未能找到與給定的控制搜索 屬性。其他詳細信息:技術名稱:'MSAA'ControlType: 'TreeItem'Name:'Machine1'ControlName:'m_tvPlantStructureView' ---> System.Runtime.InteropServices.COMException:Error HRESULT E_FAIL已從調用返回到COM組件。
請參閱附件。 請讓我知道,什麼是問題,以及要完全擺脫未來未識別的控制錯誤的過程。
目前,我遵循做十字準線和獲取屬性,然後編寫控件的屬性以自動執行用戶操作和斷言的方法。但這種方式並不總是奏效。
讓我知道是否有更好的方法來做到這一點。
你在說什麼控制? DevExpress,Infragistics,您的自定義控件還是普通.NET? – nikita