TreeItem中的每个UIElement在SearchProperties中都具有“Value”属性。此值似乎有深度,例如“我的电脑”的值为1,“我的电脑”中的某个文件夹的值为2,依此类推。我正在尝试修改我的代码以动态查找文件夹名称。为了做到这一点,我试图通过名称属性和值属性作为搜索属性。但WinControl.PropertyNames.Value不存在。我可以做类似CodedUI TreeItem更改值属性
con.SearchProperties.Add(WinControl.PropertyNames.Name,folderName [ii],PropertyExpressionOperator.Contains))。
UserInput可能是这样的:C:\ folder1中\文件夹2 \ folder3或C:\ folder1中\文件夹2
根据在用户输入的文件夹的数量,treeItem需要穿越。我试图做类似
string path = "C:\folder1\folder2\folder3";
string[] folderNames = path.Split("\\");
string driveLetter = folderNames[0];
for (int index=1; index < folderNames.Length; index++)
{
UITestControl locateTreeItem = this.UIBrowseForFolderWindow.UITreeViewWindow.UIDesktopTreeItem.UIComputerTreeItem; //Points to My Computer
locateTreeItem.SearchProperties.Add(WinControl.PropertyNames.Name, folderName[index], PropertyExpressionOperator.Contains);
locateTreeItem.SearchProperties.Add(WinControl.PropertyNames.Value, index+1, PropertyExpressionOperator.Equals);
Mouse.Click(locateTreeItem);
}
但是似乎没有这样的选项WinControl.PropertyNames.Value。我得到compileTime错误'Microsoft.VisualStudio.TestTools.UITesting.WinControls.WinControl.PropertyNames'不包含'价值'的定义。然而,此属性显示在编辑搜索属性窗口中的TreeItem以及Name,ControlType等。