2013-12-10 43 views
0

我正在使用CodedUI測試測試WinForms應用程序。如何將WinTree轉換爲CodedUI測試中的TreeView?

一個TreeView控件被我的測試識別爲一個WinTree控件。

據我所知,TreeView類提供了SelectedNode方法,我需要它。所以,我想將WinTree對象轉換爲TreeView對象。但我得到的錯誤,當我嘗試投:

不能鍵入 'Microsoft.VisualStudio.TestTools.UITesting.WinControls.WinTree' 轉換爲 'System.Windows.Forms.TreeView'

這裏是我的測試代碼(修正了位)

WinWindow myWinWindow = this.myWindow; 
WinTree myWinTree = (WinTree)myWinWindow.GetChildren().Where(control => control.ControlType.ToString() == "Tree").First(); 

TreeView myTreeView = (TreeView)myWinTree; 

有沒有辦法讓TreeView的對象?

謝謝。

回答

0

UIMap中生成的UI元素是從WinControl類派生的,我無法在其名稱空間下找到TreeView,因此我不認爲可以將WinTree轉換爲TreeView(一種是Windows窗體控件)是一個UI測試控件,因此在這裏不可能投射)。

但我看到您熟悉lambda表達式,因此您可以使用相同的方法獲取選定的節點。例如:

myWinTree.GetChildren().First(x => (bool)x.GetProperty(WinTreeItem.PropertyNames.Selected)); 
+0

非常感謝你,基達。我會嘗試你的建議。 – stasde

相關問題