我正在使用CodedUI测试来测试WinForms应用程序。
我的测试将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 :(得分:1)
UIMap中生成的UI元素是从WinControl类派生的,我在其命名空间下找不到TreeView,所以我认为你不能将WinTree转换为TreeView(一个是Windows窗体控件,另一个是一个UI测试控件,这样就不可能了。)
但我发现你熟悉lambda表达式,所以你可以使用它来获取所选节点。类似的东西:
myWinTree.GetChildren().First(x => (bool)x.GetProperty(WinTreeItem.PropertyNames.Selected));